diff options
Diffstat (limited to 'stdlib/source/spec')
-rw-r--r-- | stdlib/source/spec/compositor/common.lux | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/stdlib/source/spec/compositor/common.lux b/stdlib/source/spec/compositor/common.lux index 05fbe7fc2..df351c008 100644 --- a/stdlib/source/spec/compositor/common.lux +++ b/stdlib/source/spec/compositor/common.lux @@ -8,12 +8,13 @@ [tool [compiler ["." reference] + ["." analysis] ["." synthesis (#+ Synthesis)] ["." directive] ["." phase ["." macro (#+ Expander)] - ["." generation (#+ Operation Bundle)] - [extension + ["." generation (#+ Operation)] + [extension (#+ Extender) ["." bundle]]] [default ["." platform (#+ Platform)]]]]]) @@ -53,17 +54,20 @@ (phase (synthesis.constant lux-name))))] (:: host evaluate! "definer" definitionG)))) -(def: #export (executors platform bundle expander program) +(def: #export (executors target expander platform + analysis-bundle generation-bundle directive-bundle + program extender) (All [anchor expression directive] - (-> (Platform IO anchor expression directive) - (Bundle anchor expression directive) - Expander - (-> expression directive) + (-> Text Expander (Platform IO anchor expression directive) + analysis.Bundle + (generation.Bundle anchor expression directive) + (directive.Bundle anchor expression directive) + (-> expression directive) Extender (IO (Try [(directive.State+ anchor expression directive) Runner Definer])))) (do io.monad - [?state (platform.initialize expander platform bundle program)] + [?state (platform.initialize target expander analysis-bundle platform generation-bundle directive-bundle program extender)] (wrap (do try.monad [[directive-bundle directive-state] ?state #let [generation-state (get@ [#directive.generation |