diff options
Diffstat (limited to 'new-luxc/source/luxc/generator/procedure.jvm.lux')
-rw-r--r-- | new-luxc/source/luxc/generator/procedure.jvm.lux | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/new-luxc/source/luxc/generator/procedure.jvm.lux b/new-luxc/source/luxc/generator/procedure.jvm.lux index 524513eb5..c564a668a 100644 --- a/new-luxc/source/luxc/generator/procedure.jvm.lux +++ b/new-luxc/source/luxc/generator/procedure.jvm.lux @@ -4,16 +4,22 @@ (lux (control [monad #+ do]) (data [maybe] text/format - (coll ["d" dict]))) + (coll [dict]))) (luxc ["&" base] (lang ["ls" synthesis]) - (generator (procedure ["&&;" common]) - (host ["$" jvm])))) + (generator (host ["$" jvm]))) + (. ["./;" common] + ["./;" host])) + +(def: procedures + ./common;Bundle + (|> ./common;procedures + (dict;merge ./host;procedures))) (def: #export (generate-procedure generate name args) (-> (-> ls;Synthesis (Lux $;Inst)) Text (List ls;Synthesis) (Lux $;Inst)) (<| (maybe;default (&;fail (format "Unknown procedure: " (%t name)))) (do maybe;Monad<Maybe> - [proc (d;get name &&common;procedures)] + [proc (dict;get name procedures)] (wrap (proc generate args))))) |