diff options
author | Eduardo Julian | 2017-06-12 21:14:55 -0400 |
---|---|---|
committer | Eduardo Julian | 2017-06-12 21:14:55 -0400 |
commit | 9cd2927a4f6175784e081d6b512d3e900c8069e7 (patch) | |
tree | d1fe512bc84ea1e3a50ad86eeb3265771edd23c6 /new-luxc/source/luxc/base.lux | |
parent | c50667a431a5ca67328a230f0c59956dc6ff43fa (diff) |
- Renamed the "compilation" phase as the "generation" phase.
- Implemented compilation of primitives.
- Implemented compilation of structures.
Diffstat (limited to '')
-rw-r--r-- | new-luxc/source/luxc/base.lux | 8 |
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] |