diff options
author | Eduardo Julian | 2017-05-03 18:17:00 -0400 |
---|---|---|
committer | Eduardo Julian | 2017-05-03 18:17:00 -0400 |
commit | bf47bd7b3d4f70bc3a481761b8e9ff074313fb44 (patch) | |
tree | 7f5f0f625b59eff108d2b2652fa604c4b4aec3fc /new-luxc/source/luxc/lang.lux | |
parent | 3f146f8372758c39ece0b9a4c19f4f408e8400ea (diff) |
- WIP: Implemented more functionality.
- Lots of refactorings.
Diffstat (limited to '')
-rw-r--r-- | new-luxc/source/luxc/lang.lux | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/new-luxc/source/luxc/lang.lux b/new-luxc/source/luxc/lang.lux new file mode 100644 index 000000000..0c5c97192 --- /dev/null +++ b/new-luxc/source/luxc/lang.lux @@ -0,0 +1,44 @@ +(;module: + lux) + +(type: #export (Pattern a) Void) + +(type: #export Primitive + #Unit + (#Bool Bool) + (#Nat Nat) + (#Int Int) + (#Deg Deg) + (#Real Real) + (#Char Char) + (#Text Text)) + +(type: #export Reference + (#Relative Ref) + (#Absolute Ident)) + +(type: #export (Structure a) + (#Variant Nat Bool a) + (#Tuple (List a)) + (#Case (Pattern a)) + (#Function Scope a) + (#Call a (List a)) + (#Procedure Text (List a))) + +(type: #export (Analysis' Analysis) + (#Primitive Primitive) + (#Structure (Structure Analysis)) + (#Reference Reference)) + +(type: #export #rec Analysis + (Meta [Type Cursor] + (Analysis' Analysis))) + +(type: #export Synthesis + Unit) + +(type: #export Eval + (-> Type AST (Lux Top))) + +(type: #export Analyser + (-> Eval AST (Lux Analysis))) |