diff options
Diffstat (limited to 'stdlib/source/lux/control')
-rw-r--r-- | stdlib/source/lux/control/exception.lux | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/stdlib/source/lux/control/exception.lux b/stdlib/source/lux/control/exception.lux index 2ca06defa..80ddeed35 100644 --- a/stdlib/source/lux/control/exception.lux +++ b/stdlib/source/lux/control/exception.lux @@ -71,6 +71,12 @@ (All [e] (-> (Exception e) e Error)) (#/.Error (construct exception message))) +(def: #export (assert exception message test) + (All [e] (-> (Exception e) e Bool (Error Any))) + (if test + (#/.Success []) + (..throw exception message))) + (syntax: #export (exception: {export csr.export} {t-vars (p.default (list) csr.type-variables)} {[name inputs] (p.either (p.seq s.local-symbol (wrap (list))) |