diff options
Diffstat (limited to 'stdlib/source/lux/tool/compiler/phase/synthesis.lux')
-rw-r--r-- | stdlib/source/lux/tool/compiler/phase/synthesis.lux | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/stdlib/source/lux/tool/compiler/phase/synthesis.lux b/stdlib/source/lux/tool/compiler/phase/synthesis.lux index 17af9a6fa..c5152ff6a 100644 --- a/stdlib/source/lux/tool/compiler/phase/synthesis.lux +++ b/stdlib/source/lux/tool/compiler/phase/synthesis.lux @@ -9,70 +9,69 @@ [collection ["." list ("#/." functor)] ["." dictionary (#+ Dictionary)]]]] - [/ - ["/." function] - ["/." case] - ["." // ("#/." monad) - ["//." extension] - [// - ["." reference] - ["." analysis (#+ Analysis)] + ["." / #_ + ["#." function] + ["#." case] + ["#/" // ("#/." monad) + ["#." extension] + ["#/" // #_ + ["#." analysis (#+ Analysis)] ["/" synthesis (#+ Synthesis Phase)]]]]) (def: (primitive analysis) - (-> analysis.Primitive /.Primitive) + (-> ///analysis.Primitive /.Primitive) (case analysis - #analysis.Unit + #///analysis.Unit (#/.Text /.unit) (^template [<analysis> <synthesis>] (<analysis> value) (<synthesis> value)) - ([#analysis.Bit #/.Bit] - [#analysis.Frac #/.F64] - [#analysis.Text #/.Text]) + ([#///analysis.Bit #/.Bit] + [#///analysis.Frac #/.F64] + [#///analysis.Text #/.Text]) (^template [<analysis> <synthesis>] (<analysis> value) (<synthesis> (.i64 value))) - ([#analysis.Nat #/.I64] - [#analysis.Int #/.I64] - [#analysis.Rev #/.I64]))) + ([#///analysis.Nat #/.I64] + [#///analysis.Int #/.I64] + [#///analysis.Rev #/.I64]))) (def: #export (phase analysis) Phase (case analysis - (#analysis.Primitive analysis') + (#///analysis.Primitive analysis') (///wrap (#/.Primitive (..primitive analysis'))) - (#analysis.Structure structure) + (#///analysis.Structure structure) (case structure - (#analysis.Variant variant) + (#///analysis.Variant variant) (do //.monad - [valueS (phase (get@ #analysis.value variant))] - (wrap (/.variant (set@ #analysis.value valueS variant)))) + [valueS (phase (get@ #///analysis.value variant))] + (wrap (/.variant (set@ #///analysis.value valueS variant)))) - (#analysis.Tuple tuple) + (#///analysis.Tuple tuple) (|> tuple (monad.map //.monad phase) (///map (|>> /.tuple)))) - (#analysis.Reference reference) + (#///analysis.Reference reference) (///wrap (#/.Reference reference)) - (#analysis.Case inputA branchesAB+) + (#///analysis.Case inputA branchesAB+) (/case.synthesize phase inputA branchesAB+) - (^ (analysis.no-op value)) + (^ (///analysis.no-op value)) (phase value) - (#analysis.Apply _) + (#///analysis.Apply _) (/function.apply phase analysis) - (#analysis.Function environmentA bodyA) + (#///analysis.Function environmentA bodyA) (/function.abstraction phase environmentA bodyA) - (#analysis.Extension name args) + (#///analysis.Extension name args) (function (_ state) (|> (//extension.apply phase [name args]) (//.run' state) |