aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/base.lux
diff options
context:
space:
mode:
authorEduardo Julian2017-06-12 21:14:55 -0400
committerEduardo Julian2017-06-12 21:14:55 -0400
commit9cd2927a4f6175784e081d6b512d3e900c8069e7 (patch)
treed1fe512bc84ea1e3a50ad86eeb3265771edd23c6 /new-luxc/source/luxc/base.lux
parentc50667a431a5ca67328a230f0c59956dc6ff43fa (diff)
- Renamed the "compilation" phase as the "generation" phase.
- Implemented compilation of primitives. - Implemented compilation of structures.
Diffstat (limited to 'new-luxc/source/luxc/base.lux')
-rw-r--r--new-luxc/source/luxc/base.lux8
1 files changed, 8 insertions, 0 deletions
diff --git a/new-luxc/source/luxc/base.lux b/new-luxc/source/luxc/base.lux
index abd154190..bf9368abe 100644
--- a/new-luxc/source/luxc/base.lux
+++ b/new-luxc/source/luxc/base.lux
@@ -22,6 +22,8 @@
#Eval
#REPL)
+(def: #export compiler-version Text "0.6.0")
+
(def: #export (fail message)
(All [a] (-> Text (Lux a)))
(do Monad<Lux>
@@ -32,6 +34,12 @@
(macro;fail (format "@ " location
"\n" message))))
+(def: #export (assert message test)
+ (-> Text Bool (Lux Unit))
+ (if test
+ (:: Monad<Lux> wrap [])
+ (fail message)))
+
(def: #export (with-expected-type expected action)
(All [a] (-> Type (Lux a) (Lux a)))
(function [compiler]