aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/library/lux/tool/compiler
diff options
context:
space:
mode:
authorEduardo Julian2022-06-26 12:55:04 -0400
committerEduardo Julian2022-06-26 12:55:04 -0400
commit3053fd79bc6ae42415298ee056a268dc2c9b690c (patch)
treea71ac65955b42978160087b933c962b27f85fbcc /stdlib/source/library/lux/tool/compiler
parent716ca5377386ca87eded7dd514ccc17f8ed281c3 (diff)
New "parser" hierarchy. [Part 4]
Diffstat (limited to 'stdlib/source/library/lux/tool/compiler')
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/common_lisp.lux32
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux9
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux9
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux28
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux6
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux20
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux9
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/extension.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/extension/common.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/runtime.lux8
-rw-r--r--stdlib/source/library/lux/tool/compiler/language/lux/syntax.lux9
24 files changed, 117 insertions, 125 deletions
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux b/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
index 81d6ccdf5..c3ccd43e9 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/analysis.lux
@@ -9,9 +9,7 @@
["[0]" function]
["[0]" maybe]
["[0]" try (.only Try)]
- ["[0]" exception (.only Exception)]
- [parser
- ["<[0]>" code]]]
+ ["[0]" exception (.only Exception)]]
[data
["[0]" product]
["[0]" bit (.use "[1]#[0]" equivalence)]
@@ -20,7 +18,9 @@
[collection
["[0]" list (.use "[1]#[0]" functor mix)]]]
[macro
- [syntax (.only syntax)]]
+ [syntax (.only syntax)]
+ ["[0]" code
+ ["<[1]>" \\parser]]]
[math
[number
["n" nat]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/common_lisp.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/common_lisp.lux
index 5e7529857..377ce23c4 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/common_lisp.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/common_lisp.lux
@@ -1,32 +1,10 @@
(.require
[library
- [lux (.except)
- ["[0]" ffi]
- [abstract
- ["[0]" monad (.only do)]]
- [control
- ["<>" parser (.only)
- ["<c>" code (.only Parser)]]]
- [data
- [collection
- ["[0]" array (.only Array)]
- ["[0]" dictionary]
- ["[0]" list]]]
- ["[0]" type (.only)
- ["[0]" check]]
- ["@" target
- ["_" common_lisp]]]]
- [//
- ["/" lux (.only custom)]
- [//
- ["[0]" bundle]
- [//
- ["[0]" analysis
- ["[1]/[0]" type]]
- [//
- ["[0]" analysis (.only Analysis Operation Phase Handler Bundle)]
- [///
- ["[0]" phase]]]]]])
+ [lux (.except)]]
+ [///
+ ["[0]" bundle]
+ [///
+ [analysis (.only Bundle)]]])
(def .public bundle
Bundle
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux
index af44a8272..102e5adcf 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/js.lux
@@ -5,13 +5,15 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["<>" parser (.only)
- ["<[0]>" code (.only Parser)]]]
+ ["<>" parser]]
[data
[collection
["[0]" array]
["[0]" dictionary]
["[0]" list]]]
+ [macro
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
["[0]" type (.only)
["[0]" check]]
["@" target (.only)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
index 32ca3161d..16cb9e777 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/jvm.lux
@@ -7,12 +7,11 @@
["[0]" monad (.only do)]
["[0]" predicate]]
[control
+ ["<>" parser]
["[0]" pipe]
["[0]" maybe (.use "[1]#[0]" functor)]
["[0]" try (.only Try) (.use "[1]#[0]" monad)]
- ["[0]" exception (.only exception)]
- ["<>" parser (.only)
- ["<[0]>" code (.only Parser)]]]
+ ["[0]" exception (.only exception)]]
[data
[binary (.only Binary)
["[0]" \\format]]
@@ -27,7 +26,9 @@
["[0]" sequence]]]
[macro
["^" pattern]
- ["[0]" template]]
+ ["[0]" template]
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
[math
[number
["n" nat]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux
index b507b7a15..3c0e4cc86 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lua.lux
@@ -5,13 +5,15 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["<>" parser (.only)
- ["<[0]>" code (.only Parser)]]]
+ ["<>" parser]]
[data
[collection
["[0]" array]
["[0]" dictionary]
["[0]" list]]]
+ [macro
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
["[0]" type (.only)
["[0]" check]]
["@" target (.only)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
index 448735394..75e4e8516 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/lux.lux
@@ -4,11 +4,10 @@
[abstract
["[0]" monad (.only do)]]
[control
+ ["<>" parser]
["[0]" maybe]
["[0]" try]
- ["[0]" exception (.only exception)]
- ["<>" parser (.only)
- ["<[0]>" code (.only Parser)]]]
+ ["[0]" exception (.only exception)]]
[data
["[0]" text (.only)
["%" \\format (.only format)]]
@@ -16,7 +15,9 @@
["[0]" list (.use "[1]#[0]" functor)]
["[0]" dictionary (.only Dictionary)]]]
[macro
- ["^" pattern]]
+ ["^" pattern]
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
[math
[number
["n" nat]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux
index 27e096e18..3852d2b24 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/php.lux
@@ -5,13 +5,15 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["<>" parser (.only)
- ["<c>" code (.only Parser)]]]
+ ["<>" parser]]
[data
[collection
["[0]" array (.only Array)]
["[0]" dictionary]
["[0]" list]]]
+ [macro
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
["[0]" type (.only)
["[0]" check]]
["@" target (.only)
@@ -31,7 +33,7 @@
(def array::new
Handler
(custom
- [<c>.any
+ [<code>.any
(function (_ extension phase archive lengthC)
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -44,7 +46,7 @@
(def array::length
Handler
(custom
- [<c>.any
+ [<code>.any
(function (_ extension phase archive arrayC)
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -57,7 +59,7 @@
(def array::read
Handler
(custom
- [(<>.and <c>.any <c>.any)
+ [(<>.and <code>.any <code>.any)
(function (_ extension phase archive [indexC arrayC])
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -72,7 +74,7 @@
(def array::write
Handler
(custom
- [(all <>.and <c>.any <c>.any <c>.any)
+ [(all <>.and <code>.any <code>.any <code>.any)
(function (_ extension phase archive [indexC valueC arrayC])
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -89,7 +91,7 @@
(def array::delete
Handler
(custom
- [(all <>.and <c>.any <c>.any)
+ [(all <>.and <code>.any <code>.any)
(function (_ extension phase archive [indexC arrayC])
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -127,7 +129,7 @@
(def object::new
Handler
(custom
- [(all <>.and <c>.text (<>.some <c>.any))
+ [(all <>.and <code>.text (<>.some <code>.any))
(function (_ extension phase archive [constructor inputsC])
(do [! phase.monad]
[inputsA (monad.each ! (|>> (phase archive) (analysis/type.with_type Any)) inputsC)
@@ -137,7 +139,7 @@
(def object::get
Handler
(custom
- [(all <>.and <c>.text <c>.any)
+ [(all <>.and <code>.text <code>.any)
(function (_ extension phase archive [fieldC objectC])
(do phase.monad
[objectA (analysis/type.with_type ..Object
@@ -149,7 +151,7 @@
(def object::do
Handler
(custom
- [(all <>.and <c>.text <c>.any (<>.some <c>.any))
+ [(all <>.and <code>.text <code>.any (<>.some <code>.any))
(function (_ extension phase archive [methodC objectC inputsC])
(do [! phase.monad]
[objectA (analysis/type.with_type ..Object
@@ -174,7 +176,7 @@
(def php::constant
Handler
(custom
- [<c>.text
+ [<code>.text
(function (_ extension phase archive name)
(do phase.monad
[_ (analysis/type.infer Any)]
@@ -183,7 +185,7 @@
(def php::apply
Handler
(custom
- [(all <>.and <c>.any (<>.some <c>.any))
+ [(all <>.and <code>.any (<>.some <code>.any))
(function (_ extension phase archive [abstractionC inputsC])
(do [! phase.monad]
[abstractionA (analysis/type.with_type ..Function
@@ -195,7 +197,7 @@
(def php::pack
Handler
(custom
- [(all <>.and <c>.any <c>.any)
+ [(all <>.and <code>.any <code>.any)
(function (_ extension phase archive [formatC dataC])
(do [! phase.monad]
[formatA (analysis/type.with_type Text
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux
index d44c8f5de..3c6e4b452 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/python.lux
@@ -5,13 +5,15 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["<>" parser (.only)
- ["<[0]>" code (.only Parser)]]]
+ ["<>" parser]]
[data
[collection
["[0]" array]
["[0]" dictionary]
["[0]" list]]]
+ [macro
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
["[0]" type (.only)
["[0]" check]]
["@" target (.only)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux
index c499e23d8..a53133555 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/r.lux
@@ -5,13 +5,15 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["<>" parser (.only)
- ["<c>" code (.only Parser)]]]
+ ["<>" parser]]
[data
[collection
["[0]" array (.only Array)]
["[0]" dictionary]
["[0]" list]]]
+ [macro
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
["[0]" type (.only)
["[0]" check]]
["@" target
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux
index b43fb8c4f..3029aec9d 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/ruby.lux
@@ -5,13 +5,15 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["<>" parser (.only)
- ["<[0]>" code (.only Parser)]]]
+ ["<>" parser]]
[data
[collection
["[0]" array]
["[0]" dictionary]
["[0]" list]]]
+ [macro
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
["[0]" type (.only)
["[0]" check]]
["@" target (.only)
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux
index 0220eb1f4..bf1493940 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/analysis/scheme.lux
@@ -5,13 +5,15 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["<>" parser (.only)
- ["<c>" code (.only Parser)]]]
+ ["<>" parser]]
[data
[collection
["[0]" array (.only Array)]
["[0]" dictionary]
["[0]" list]]]
+ [macro
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
["[0]" type (.only)
["[0]" check]]
["@" target (.only)
@@ -31,7 +33,7 @@
(def array::new
Handler
(custom
- [<c>.any
+ [<code>.any
(function (_ extension phase archive lengthC)
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -44,7 +46,7 @@
(def array::length
Handler
(custom
- [<c>.any
+ [<code>.any
(function (_ extension phase archive arrayC)
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -57,7 +59,7 @@
(def array::read
Handler
(custom
- [(<>.and <c>.any <c>.any)
+ [(<>.and <code>.any <code>.any)
(function (_ extension phase archive [indexC arrayC])
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -72,7 +74,7 @@
(def array::write
Handler
(custom
- [(all <>.and <c>.any <c>.any <c>.any)
+ [(all <>.and <code>.any <code>.any <code>.any)
(function (_ extension phase archive [indexC valueC arrayC])
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -89,7 +91,7 @@
(def array::delete
Handler
(custom
- [(all <>.and <c>.any <c>.any)
+ [(all <>.and <code>.any <code>.any)
(function (_ extension phase archive [indexC arrayC])
(<| analysis/type.with_var
(function (_ [@var :var:]))
@@ -131,7 +133,7 @@
(def scheme::constant
Handler
(custom
- [<c>.text
+ [<code>.text
(function (_ extension phase archive name)
(do phase.monad
[_ (analysis/type.infer Any)]
@@ -140,7 +142,7 @@
(def scheme::apply
Handler
(custom
- [(all <>.and <c>.any (<>.some <c>.any))
+ [(all <>.and <code>.any (<>.some <code>.any))
(function (_ extension phase archive [abstractionC inputsC])
(do [! phase.monad]
[abstractionA (analysis/type.with_type ..Function
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux
index e2833a6c1..05da344e7 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/jvm.lux
@@ -5,11 +5,10 @@
[abstract
["[0]" monad (.only do)]]
[control
+ ["<>" parser (.use "[1]#[0]" monad)]
["[0]" pipe]
["[0]" try (.only Try) (.use "[1]#[0]" functor)]
- ["[0]" exception]
- ["<>" parser (.use "[1]#[0]" monad)
- ["<[0]>" code (.only Parser)]]]
+ ["[0]" exception]]
[data
["[0]" product]
[binary (.only Binary)
@@ -24,7 +23,9 @@
["[0]" set (.only Set)]]]
[macro
["^" pattern]
- ["[0]" template]]
+ ["[0]" template]
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
[math
[number
["n" nat]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux
index 20f7aa448..0d02b109f 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/extension/directive/lux.lux
@@ -7,11 +7,10 @@
["[0]" monad (.only do)]]
[control
[io (.only IO)]
+ ["<>" parser]
["[0]" maybe (.use "[1]#[0]" functor)]
["[0]" try]
- ["[0]" exception (.only exception)]
- ["<>" parser (.only)
- ["<[0]>" code (.only Parser)]]]
+ ["[0]" exception (.only exception)]]
[data
["[0]" binary]
["[0]" product]
@@ -24,7 +23,8 @@
["[0]" set (.only Set)]]]
[macro
["^" pattern]
- ["[0]" code]]
+ ["[0]" code
+ ["<[1]>" \\parser (.only Parser)]]]
[math
[number
["n" nat]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/runtime.lux
index 25e2a8d21..42c75531d 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/common_lisp/runtime.lux
@@ -5,9 +5,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -18,7 +17,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["[0]" i64]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/extension.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/extension.lux
index 5e96d3ec3..75cb5a86e 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/extension.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/extension.lux
@@ -3,16 +3,14 @@
[lux (.except)
[abstract
["[0]" monad (.only do)]]
- [control
- [parser
- ["<[0]>" code]]]
[data
[collection
["[0]" list (.use "[1]#[0]" functor)]]]
["[0]" meta]
["[0]" macro (.only with_symbols)
- ["[0]" code]
- [syntax (.only syntax)]]]]
+ [syntax (.only syntax)]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]]]
["[0]" ///
["[1][0]" extension]
[//
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux
index 45ec51f44..3eaadc3f5 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/js/runtime.lux
@@ -5,9 +5,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -19,7 +18,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["[0]" i64]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/runtime.lux
index 1e9b333c4..f7fb63f10 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/lua/runtime.lux
@@ -5,9 +5,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -19,7 +18,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["[0]" i64]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/runtime.lux
index c1867a620..1254f50bc 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/php/runtime.lux
@@ -5,9 +5,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -19,7 +18,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["[0]" i64]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/runtime.lux
index 40b7ebd56..dfef07d7c 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/python/runtime.lux
@@ -4,9 +4,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -18,7 +17,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["f" frac]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux
index 69fff57bc..089bdf2b9 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/r/runtime.lux
@@ -5,9 +5,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -19,7 +18,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["n" nat]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/runtime.lux
index 4754c861b..74261ccc3 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/ruby/runtime.lux
@@ -5,9 +5,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -19,7 +18,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["[0]" i64]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/extension/common.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/extension/common.lux
index bbb7db4e9..a99e83f84 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/extension/common.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/extension/common.lux
@@ -3,9 +3,6 @@
[lux (.except)
[abstract
["[0]" monad (.only do)]]
- [control
- [parser
- ["<[0]>" code]]]
[data
["[0]" product]
["[0]" text]
@@ -15,8 +12,9 @@
["[0]" list (.use "[1]#[0]" functor)]
["dict" dictionary (.only Dictionary)]]]
["[0]" macro (.only with_symbols)
- ["[0]" code]
- [syntax (.only syntax)]]
+ [syntax (.only syntax)]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[target
["_" scheme (.only Expression Computation)]]]]
["[0]" ///
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/runtime.lux b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/runtime.lux
index 35e49dc7e..0b287568a 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/runtime.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/phase/generation/scheme/runtime.lux
@@ -5,9 +5,8 @@
[abstract
["[0]" monad (.only do)]]
[control
- ["[0]" function]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["<>" parser]
+ ["[0]" function]]
[data
["[0]" product]
["[0]" text (.use "[1]#[0]" hash)
@@ -19,7 +18,8 @@
["[0]" sequence]]]
["[0]" macro (.only)
[syntax (.only syntax)]
- ["[0]" code]]
+ ["[0]" code (.only)
+ ["<[1]>" \\parser]]]
[math
[number (.only hex)
["[0]" i64]]]
diff --git a/stdlib/source/library/lux/tool/compiler/language/lux/syntax.lux b/stdlib/source/library/lux/tool/compiler/language/lux/syntax.lux
index 1e1e062eb..7b31c9a0a 100644
--- a/stdlib/source/library/lux/tool/compiler/language/lux/syntax.lux
+++ b/stdlib/source/library/lux/tool/compiler/language/lux/syntax.lux
@@ -31,10 +31,9 @@
[abstract
[monad (.only do)]]
[control
+ ["<>" parser]
["[0]" maybe]
- ["[0]" exception (.only exception)]
- ["<>" parser (.only)
- ["<[0]>" code]]]
+ ["[0]" exception (.only exception)]]
[data
["[0]" text (.only)
[\\parser (.only Offset)]
@@ -44,7 +43,9 @@
["[0]" dictionary (.only Dictionary)]]]
[macro
[syntax (.only syntax)]
- ["[0]" template]]
+ ["[0]" template]
+ ["[0]" code
+ ["<[1]>" \\parser]]]
[meta
["[0]" symbol]]
[math