aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/lang/synthesis.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/lang/synthesis.lux')
-rw-r--r--new-luxc/source/luxc/lang/synthesis.lux30
1 files changed, 25 insertions, 5 deletions
diff --git a/new-luxc/source/luxc/lang/synthesis.lux b/new-luxc/source/luxc/lang/synthesis.lux
index 491891600..5fd6a3a81 100644
--- a/new-luxc/source/luxc/lang/synthesis.lux
+++ b/new-luxc/source/luxc/lang/synthesis.lux
@@ -1,6 +1,21 @@
(;module:
- lux
- (.. ["lp" pattern]))
+ lux)
+
+(type: #export (Path' s)
+ #PopP
+ (#BindP Nat)
+ (#BoolP Bool)
+ (#NatP Nat)
+ (#IntP Int)
+ (#DegP Deg)
+ (#RealP Real)
+ (#CharP Char)
+ (#TextP Text)
+ (#VariantP (Either Nat Nat))
+ (#TupleP (Either Nat Nat))
+ (#AltP (Path' s) (Path' s))
+ (#SeqP (Path' s) (Path' s))
+ (#ExecP s))
(type: #export #rec Synthesis
#Unit
@@ -13,10 +28,15 @@
(#Text Text)
(#Variant Nat Bool Synthesis)
(#Tuple (List Synthesis))
- (#Case (List [lp;Pattern Synthesis]))
+ (#Case Synthesis (Path' Synthesis))
(#Function Nat Scope Synthesis)
(#Call Synthesis (List Synthesis))
(#Recur Nat (List Synthesis))
(#Procedure Text (List Synthesis))
- (#Relative Ref)
- (#Absolute Ident))
+ (#Relative Int)
+ (#Absolute Ident)
+ (#Let Nat Synthesis Synthesis)
+ (#If Synthesis Synthesis Synthesis)
+ (#Loop Nat (List Synthesis) Synthesis))
+
+(type: #export Path (Path' Synthesis))