(;module: lux (lux (control monad) (data text/format) [macro #+ Monad]) (luxc ["&" base] ["&;" module] ["&;" env] ["&;" analyser] ["&;" synthesizer #+ Synthesis])) (type: #export JVM-Bytecode Void) (type: Compiled JVM-Bytecode) (def: (compile-synthesis synthesis) (-> Synthesis Compiled) (undefined)) (def: #export (compile input) (-> AST (Lux Compiled)) (|> input &analyser;analyse (Lux/map &synthesizer;synthesize) (Lux/map compile-synthesis)))