diff options
Diffstat (limited to 'new-luxc/source/luxc/lang')
| -rw-r--r-- | new-luxc/source/luxc/lang/analysis.lux | 30 | ||||
| -rw-r--r-- | new-luxc/source/luxc/lang/pattern.lux | 15 | ||||
| -rw-r--r-- | new-luxc/source/luxc/lang/synthesis.lux | 21 | 
3 files changed, 66 insertions, 0 deletions
diff --git a/new-luxc/source/luxc/lang/analysis.lux b/new-luxc/source/luxc/lang/analysis.lux new file mode 100644 index 000000000..092b561f0 --- /dev/null +++ b/new-luxc/source/luxc/lang/analysis.lux @@ -0,0 +1,30 @@ +(;module: +  lux +  (lux (data [product])) +  (.. ["lp" pattern])) + +(type: #export (Analysis' Analysis) +  #Unit +  (#Bool Bool) +  (#Nat Nat) +  (#Int Int) +  (#Deg Deg) +  (#Real Real) +  (#Char Char) +  (#Text Text) +  (#Variant Nat Bool Analysis) +  (#Tuple (List Analysis)) +  (#Case (List [lp;Pattern Analysis])) +  (#Function Scope Analysis) +  (#Call Analysis (List Analysis)) +  (#Procedure Text (List Analysis)) +  (#Relative Ref) +  (#Absolute Ident)) + +(type: #export #rec Analysis +  (Meta [Type Cursor] +        (Analysis' Analysis))) + +(def: #export (get-type analysis) +  (-> Analysis Type) +  (|> analysis product;left product;left)) diff --git a/new-luxc/source/luxc/lang/pattern.lux b/new-luxc/source/luxc/lang/pattern.lux new file mode 100644 index 000000000..a0077133b --- /dev/null +++ b/new-luxc/source/luxc/lang/pattern.lux @@ -0,0 +1,15 @@ +(;module: +  lux) + +(type: #export #rec Pattern +  (#Ref Nat) +  #Unit +  (#Bool Bool) +  (#Nat Nat) +  (#Int Int) +  (#Deg Deg) +  (#Real Real) +  (#Char Char) +  (#Text Text) +  (#Tuple (List Pattern)) +  (#Variant [Nat Nat] Pattern)) diff --git a/new-luxc/source/luxc/lang/synthesis.lux b/new-luxc/source/luxc/lang/synthesis.lux new file mode 100644 index 000000000..00cccfbe6 --- /dev/null +++ b/new-luxc/source/luxc/lang/synthesis.lux @@ -0,0 +1,21 @@ +(;module: +  lux +  (.. ["lp" pattern])) + +(type: #export #rec Synthesis +  #Unit +  (#Bool Bool) +  (#Nat Nat) +  (#Int Int) +  (#Deg Deg) +  (#Real Real) +  (#Char Char) +  (#Text Text) +  (#Variant Nat Bool Synthesis) +  (#Tuple (List Synthesis)) +  (#Case (lp;Pattern Synthesis)) +  (#Function Scope Synthesis) +  (#Call Synthesis (List Synthesis)) +  (#Procedure Text (List Synthesis)) +  (#Relative Ref) +  (#Absolute Ident))  | 
