aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/generator/expr.jvm.lux
diff options
context:
space:
mode:
Diffstat (limited to 'new-luxc/source/luxc/generator/expr.jvm.lux')
-rw-r--r--new-luxc/source/luxc/generator/expr.jvm.lux78
1 files changed, 0 insertions, 78 deletions
diff --git a/new-luxc/source/luxc/generator/expr.jvm.lux b/new-luxc/source/luxc/generator/expr.jvm.lux
deleted file mode 100644
index 61120ef86..000000000
--- a/new-luxc/source/luxc/generator/expr.jvm.lux
+++ /dev/null
@@ -1,78 +0,0 @@
-(;module:
- lux
- (lux (control monad
- ["ex" exception #+ exception:]
- ["p" parser])
- (data ["e" error]
- text/format)
- [meta]
- (meta ["s" syntax]))
- (luxc ["&" base]
- (lang ["ls" synthesis])
- ["&;" analyser]
- ["&;" synthesizer]
- (synthesizer [";S" function])
- (generator ["&;" common]
- ["&;" primitive]
- ["&;" structure]
- ["&;" eval]
- ["&;" procedure]
- ["&;" function]
- ["&;" reference]
- [";G" case]
- (host ["$" jvm]))))
-
-(exception: #export Unrecognized-Synthesis)
-
-(def: #export (generate synthesis)
- (-> ls;Synthesis (Meta $;Inst))
- (case synthesis
- (^code [])
- &primitive;generate-unit
-
- (^code [(~ singleton)])
- (generate singleton)
-
- (^template [<tag> <generator>]
- [_ (<tag> value)]
- (<generator> value))
- ([#;Bool &primitive;generate-bool]
- [#;Nat &primitive;generate-nat]
- [#;Int &primitive;generate-int]
- [#;Deg &primitive;generate-deg]
- [#;Frac &primitive;generate-frac]
- [#;Text &primitive;generate-text])
-
- (^code ((~ [_ (#;Nat tag)]) (~ [_ (#;Bool last?)]) (~ valueS)))
- (&structure;generate-variant generate tag last? valueS)
-
- (^code [(~@ members)])
- (&structure;generate-tuple generate members)
-
- (^ [_ (#;Form (list [_ (#;Int var)]))])
- (if (functionS;captured? var)
- (&reference;generate-captured var)
- (&reference;generate-variable var))
-
- [_ (#;Symbol definition)]
- (&reference;generate-definition definition)
-
- (^code ("lux let" (~ [_ (#;Nat register)]) (~ inputS) (~ exprS)))
- (caseG;generate-let generate register inputS exprS)
-
- (^code ("lux case" (~ inputS) (~ pathPS)))
- (caseG;generate-case generate inputS pathPS)
-
- (^multi (^code ("lux function" (~ [_ (#;Nat arity)]) [(~@ environment)] (~ bodyS)))
- [(s;run environment (p;some s;int)) (#e;Success environment)])
- (&function;generate-function generate environment arity bodyS)
-
- (^code ("lux call" (~ functionS) (~@ argsS)))
- (&function;generate-call generate functionS argsS)
-
- (^code ((~ [_ (#;Text procedure)]) (~@ argsS)))
- (&procedure;generate-procedure generate procedure argsS)
-
- _
- (&;throw Unrecognized-Synthesis (%code synthesis))
- ))