diff options
Diffstat (limited to 'new-luxc/source/luxc/generator/expr.jvm.lux')
-rw-r--r-- | new-luxc/source/luxc/generator/expr.jvm.lux | 78 |
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)) - )) |