From 190b512a822fefbb9c66271feb189cc6ccebaf85 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Wed, 15 Nov 2017 23:22:30 -0400 Subject: - Re-named "lux/meta" to to "lux/macro". --- stdlib/test/test/lux.lux | 4 +- stdlib/test/test/lux/control/parser.lux | 6 +- stdlib/test/test/lux/data/format/json.lux | 46 ++++----- stdlib/test/test/lux/data/text/regex.lux | 6 +- stdlib/test/test/lux/lang/syntax.lux | 2 +- stdlib/test/test/lux/macro/code.lux | 32 ++++++ stdlib/test/test/lux/macro/poly/eq.lux | 72 +++++++++++++ stdlib/test/test/lux/macro/poly/functor.lux | 30 ++++++ stdlib/test/test/lux/macro/syntax.lux | 153 ++++++++++++++++++++++++++++ stdlib/test/test/lux/meta/code.lux | 32 ------ stdlib/test/test/lux/meta/poly/eq.lux | 72 ------------- stdlib/test/test/lux/meta/poly/functor.lux | 30 ------ stdlib/test/test/lux/meta/syntax.lux | 153 ---------------------------- stdlib/test/tests.lux | 10 +- 14 files changed, 324 insertions(+), 324 deletions(-) create mode 100644 stdlib/test/test/lux/macro/code.lux create mode 100644 stdlib/test/test/lux/macro/poly/eq.lux create mode 100644 stdlib/test/test/lux/macro/poly/functor.lux create mode 100644 stdlib/test/test/lux/macro/syntax.lux delete mode 100644 stdlib/test/test/lux/meta/code.lux delete mode 100644 stdlib/test/test/lux/meta/poly/eq.lux delete mode 100644 stdlib/test/test/lux/meta/poly/functor.lux delete mode 100644 stdlib/test/test/lux/meta/syntax.lux (limited to 'stdlib/test') diff --git a/stdlib/test/test/lux.lux b/stdlib/test/test/lux.lux index 4c0d1513f..22190bd93 100644 --- a/stdlib/test/test/lux.lux +++ b/stdlib/test/test/lux.lux @@ -8,8 +8,8 @@ (data [maybe] [text "text/" Eq] text/format) - [meta] - (meta ["s" syntax #+ syntax:]))) + [macro] + (macro ["s" syntax #+ syntax:]))) (context: "Value identity." (<| (times +100) diff --git a/stdlib/test/test/lux/control/parser.lux b/stdlib/test/test/lux/control/parser.lux index 3a2483f6b..0f6b4a4b1 100644 --- a/stdlib/test/test/lux/control/parser.lux +++ b/stdlib/test/test/lux/control/parser.lux @@ -12,9 +12,9 @@ [ident] ["E" error]) ["r" math/random] - [meta] - (meta [code] - ["s" syntax #+ syntax:])) + [macro] + (macro [code] + ["s" syntax #+ syntax:])) lux/test) ## [Utils] diff --git a/stdlib/test/test/lux/data/format/json.lux b/stdlib/test/test/lux/data/format/json.lux index ab18e047f..167e80555 100644 --- a/stdlib/test/test/lux/data/format/json.lux +++ b/stdlib/test/test/lux/data/format/json.lux @@ -16,12 +16,12 @@ (coll [sequence #+ sequence] ["d" dict] [list])) - [meta #+ with-gensyms] - (meta [code] - [syntax #+ syntax:] - [poly #+ derived:] - [poly/eq] - [poly/json]) + [macro #+ with-gensyms] + (macro [code] + [syntax #+ syntax:] + [poly #+ derived:] + [poly/eq] + [poly/json]) (type [unit]) ["r" math/random] (time ["ti" instant] @@ -144,23 +144,23 @@ _ false))] (and ## (:: bool;Eq = (get@ #bool recL) (get@ #bool recR)) - ## (f.= (get@ #frac recL) (get@ #frac recR)) - ## (:: text;Eq = (get@ #text recL) (get@ #text recR)) - ## (:: (maybe;Eq number;Eq) = (get@ #maybe recL) (get@ #maybe recR)) - ## (:: (list;Eq number;Eq) = (get@ #list recL) (get@ #list recR)) - ## (variant/= (get@ #variant recL) (get@ #variant recR)) - ## (let [[tL0 tL1 tL2] (get@ #tuple recL) - ## [tR0 tR1 tR2] (get@ #tuple recR)] - ## (and (:: bool;Eq = tL0 tR0) - ## (f.= tL1 tR1) - ## (:: text;Eq = tL2 tR2))) - ## (:: (d;Eq number;Eq) = (get@ #dict recL) (get@ #dict recR)) - ## (:: Eq = (get@ #recursive recL) (get@ #recursive recR)) - (:: ti;Eq = (get@ #instant recL) (get@ #instant recR)) - (:: tdu;Eq = (get@ #duration recL) (get@ #duration recR)) - (:: tda;Eq = (get@ #date recL) (get@ #date recR)) - (:: unit;Eq = (get@ #grams recL) (get@ #grams recR)) - )))) + ## (f.= (get@ #frac recL) (get@ #frac recR)) + ## (:: text;Eq = (get@ #text recL) (get@ #text recR)) + ## (:: (maybe;Eq number;Eq) = (get@ #maybe recL) (get@ #maybe recR)) + ## (:: (list;Eq number;Eq) = (get@ #list recL) (get@ #list recR)) + ## (variant/= (get@ #variant recL) (get@ #variant recR)) + ## (let [[tL0 tL1 tL2] (get@ #tuple recL) + ## [tR0 tR1 tR2] (get@ #tuple recR)] + ## (and (:: bool;Eq = tL0 tR0) + ## (f.= tL1 tR1) + ## (:: text;Eq = tL2 tR2))) + ## (:: (d;Eq number;Eq) = (get@ #dict recL) (get@ #dict recR)) + ## (:: Eq = (get@ #recursive recL) (get@ #recursive recR)) + (:: ti;Eq = (get@ #instant recL) (get@ #instant recR)) + (:: tdu;Eq = (get@ #duration recL) (get@ #duration recR)) + (:: tda;Eq = (get@ #date recL) (get@ #date recR)) + (:: unit;Eq = (get@ #grams recL) (get@ #grams recR)) + )))) (context: "Polytypism" (<| (times +100) diff --git a/stdlib/test/test/lux/data/text/regex.lux b/stdlib/test/test/lux/data/text/regex.lux index ee34db931..34d752d5a 100644 --- a/stdlib/test/test/lux/data/text/regex.lux +++ b/stdlib/test/test/lux/data/text/regex.lux @@ -9,9 +9,9 @@ text/format (text [lexer] ["&" regex])) - [meta] - (meta [code] - ["s" syntax #+ syntax:]) + [macro] + (macro [code] + ["s" syntax #+ syntax:]) ["r" math/random]) lux/test) diff --git a/stdlib/test/test/lux/lang/syntax.lux b/stdlib/test/test/lux/lang/syntax.lux index 4db181cae..154e18a91 100644 --- a/stdlib/test/test/lux/lang/syntax.lux +++ b/stdlib/test/test/lux/lang/syntax.lux @@ -9,7 +9,7 @@ ["l" lexer]) (coll [list])) ["r" math/random "r/" Monad] - (meta [code]) + (macro [code]) (lang ["&" syntax]) test)) diff --git a/stdlib/test/test/lux/macro/code.lux b/stdlib/test/test/lux/macro/code.lux new file mode 100644 index 000000000..64bdf5f1c --- /dev/null +++ b/stdlib/test/test/lux/macro/code.lux @@ -0,0 +1,32 @@ +(;module: + lux + (lux [io] + (control [monad #+ do Monad]) + (data [text "T/" Eq] + text/format + [number]) + ["r" math/random] + (macro ["&" code])) + lux/test) + +(context: "Code" + (with-expansions + [ (do-template [ ] + [(test (format "Can produce Code node: " ) + (and (T/= (&;to-text )) + (:: &;Eq = )))] + + [(&;bool true) "true"] + [(&;bool false) "false"] + [(&;int 123) "123"] + [(&;frac 123.0) "123.0"] + [(&;text "\n") "\"\\n\""] + [(&;tag ["yolo" "lol"]) "#yolo;lol"] + [(&;symbol ["yolo" "lol"]) "yolo;lol"] + [(&;form (list (&;bool true) (&;int 123))) "(true 123)"] + [(&;tuple (list (&;bool true) (&;int 123))) "[true 123]"] + [(&;record (list [(&;bool true) (&;int 123)])) "{true 123}"] + [(&;local-tag "lol") "#lol"] + [(&;local-symbol "lol") "lol"] + )] + ($_ seq ))) diff --git a/stdlib/test/test/lux/macro/poly/eq.lux b/stdlib/test/test/lux/macro/poly/eq.lux new file mode 100644 index 000000000..e1d7604e7 --- /dev/null +++ b/stdlib/test/test/lux/macro/poly/eq.lux @@ -0,0 +1,72 @@ +(;module: + lux + (lux [io] + (control [monad #+ do Monad] + [eq #+ Eq]) + (data text/format + [bool] + [number "i/" Number] + [text] + [maybe] + (coll [list])) + ["r" math/random] + [macro] + (macro [poly #+ derived:] + ["&" poly/eq])) + lux/test) + +## [Utils] +(type: Variant + (#Case0 Bool) + (#Case1 Int) + (#Case2 Frac)) + +(type: #rec Recursive + (#Number Frac) + (#Addition Frac Recursive)) + +(type: Record + {#unit Unit + #bool Bool + #int Int + #frac Frac + #text Text + #maybe (Maybe Int) + #list (List Int) + #variant Variant + #tuple [Int Frac Text] + #recursive Recursive}) + +(def: gen-recursive + (r;Random Recursive) + (r;rec (function [gen-recursive] + (r;alt r;frac + (r;seq r;frac gen-recursive))))) + +(def: gen-record + (r;Random Record) + (do r;Monad + [size (:: @ map (n.% +2) r;nat) + #let [gen-int (|> r;int (:: @ map (|>. i/abs (i.% 1_000_000))))]] + ($_ r;seq + (:: @ wrap []) + r;bool + gen-int + r;frac + (r;text size) + (r;maybe gen-int) + (r;list size gen-int) + ($_ r;alt r;bool gen-int r;frac) + ($_ r;seq gen-int r;frac (r;text size)) + gen-recursive))) + +(derived: (&;Eq Record)) + +## [Tests] +(context: "Eq polytypism" + (<| (times +100) + (do @ + [sample gen-record + #let [(^open "&/") Eq]] + (test "Every instance equals itself." + (&/= sample sample))))) diff --git a/stdlib/test/test/lux/macro/poly/functor.lux b/stdlib/test/test/lux/macro/poly/functor.lux new file mode 100644 index 000000000..45e54bae7 --- /dev/null +++ b/stdlib/test/test/lux/macro/poly/functor.lux @@ -0,0 +1,30 @@ +(;module: + lux + (lux [io] + (control [monad #+ do Monad] + [functor] + [eq #+ Eq] + [state]) + (data text/format + [bool] + [number "i/" Number] + [text] + [identity]) + ["r" math/random] + [macro] + (macro [poly #+ derived:] + ["&" poly/functor])) + lux/test) + +## [Utils] +(derived: (&;Functor ;Maybe)) + +(derived: (&;Functor ;List)) + +(derived: (&;Functor state;State)) + +(derived: (&;Functor identity;Identity)) + +## [Tests] +(context: "Functor polytypism." + (test "" true)) diff --git a/stdlib/test/test/lux/macro/syntax.lux b/stdlib/test/test/lux/macro/syntax.lux new file mode 100644 index 000000000..b159bf999 --- /dev/null +++ b/stdlib/test/test/lux/macro/syntax.lux @@ -0,0 +1,153 @@ +(;module: + lux + (lux [io] + (control [monad #+ do Monad] + [eq #+ Eq] + ["p" parser]) + (data [text "Text/" Monoid] + text/format + [number] + [bool] + [ident] + ["E" error]) + ["r" math/random] + [macro] + (macro [code] + ["s" syntax #+ syntax: Syntax])) + lux/test) + +## [Utils] +(def: (enforced? parser input) + (-> (Syntax []) (List Code) Bool) + (case (p;run input parser) + (#;Right [_ []]) + true + + _ + false)) + +(def: (found? parser input) + (-> (Syntax Bool) (List Code) Bool) + (case (p;run input parser) + (#;Right [_ true]) + true + + _ + false)) + +(def: (is? Eq test parser input) + (All [a] (-> (Eq a) a (Syntax a) (List Code) Bool)) + (case (p;run input parser) + (#;Right [_ output]) + (:: Eq = test output) + + _ + false)) + +(def: (fails? input) + (All [a] (-> (E;Error a) Bool)) + (case input + (#;Left _) + true + + _ + false)) + +(syntax: (match pattern input) + (wrap (list (` (case (~ input) + (^ (#;Right [(~' _) (~ pattern)])) + true + + (~' _) + false))))) + +## [Tests] +(context: "Simple value syntax." + (with-expansions + [ (do-template [ ] + [(test + (and (is? (list ( ))) + (found? (s;this? ( )) (list ( ))) + (enforced? (s;this ( )) (list ( )))))] + + ["Can parse Bool syntax." true code;bool bool;Eq s;bool] + ["Can parse Nat syntax." +123 code;nat number;Eq s;nat] + ["Can parse Int syntax." 123 code;int number;Eq s;int] + ["Can parse Deg syntax." .123 code;deg number;Eq s;deg] + ["Can parse Frac syntax." 123.0 code;frac number;Eq s;frac] + ["Can parse Text syntax." "\n" code;text text;Eq s;text] + ["Can parse Symbol syntax." ["yolo" "lol"] code;symbol ident;Eq s;symbol] + ["Can parse Tag syntax." ["yolo" "lol"] code;tag ident;Eq s;tag] + )] + ($_ seq + + + (test "Can parse symbols belonging to the current namespace." + (and (match "yolo" + (p;run (list (code;local-symbol "yolo")) + s;local-symbol)) + (fails? (p;run (list (code;symbol ["yolo" "lol"])) + s;local-symbol)))) + + (test "Can parse tags belonging to the current namespace." + (and (match "yolo" + (p;run (list (code;local-tag "yolo")) + s;local-tag)) + (fails? (p;run (list (code;tag ["yolo" "lol"])) + s;local-tag)))) + ))) + +(context: "Complex value syntax." + (with-expansions + [ (do-template [ ] + [(test (format "Can parse " " syntax.") + (and (match [true 123] + (p;run (list ( (list (code;bool true) (code;int 123)))) + ( (p;seq s;bool s;int)))) + (match true + (p;run (list ( (list (code;bool true)))) + ( s;bool))) + (fails? (p;run (list ( (list (code;bool true) (code;int 123)))) + ( s;bool))) + (match (#;Left true) + (p;run (list ( (list (code;bool true)))) + ( (p;alt s;bool s;int)))) + (match (#;Right 123) + (p;run (list ( (list (code;int 123)))) + ( (p;alt s;bool s;int)))) + (fails? (p;run (list ( (list (code;frac 123.0)))) + ( (p;alt s;bool s;int))))))] + + ["form" s;form code;form] + ["tuple" s;tuple code;tuple])] + ($_ seq + + + (test "Can parse record syntax." + (match [true 123] + (p;run (list (code;record (list [(code;bool true) (code;int 123)]))) + (s;record (p;seq s;bool s;int))))) + ))) + +(context: "Combinators" + ($_ seq + (test "Can parse any Code." + (match [_ (#;Bool true)] + (p;run (list (code;bool true) (code;int 123)) + s;any))) + + (test "Can check whether the end has been reached." + (and (match true + (p;run (list) + s;end?)) + (match false + (p;run (list (code;bool true)) + s;end?)))) + + (test "Can ensure the end has been reached." + (and (match [] + (p;run (list) + s;end!)) + (fails? (p;run (list (code;bool true)) + s;end!)))) + )) diff --git a/stdlib/test/test/lux/meta/code.lux b/stdlib/test/test/lux/meta/code.lux deleted file mode 100644 index 7c3706f13..000000000 --- a/stdlib/test/test/lux/meta/code.lux +++ /dev/null @@ -1,32 +0,0 @@ -(;module: - lux - (lux [io] - (control [monad #+ do Monad]) - (data [text "T/" Eq] - text/format - [number]) - ["r" math/random] - (meta ["&" code])) - lux/test) - -(context: "Code" - (with-expansions - [ (do-template [ ] - [(test (format "Can produce Code node: " ) - (and (T/= (&;to-text )) - (:: &;Eq = )))] - - [(&;bool true) "true"] - [(&;bool false) "false"] - [(&;int 123) "123"] - [(&;frac 123.0) "123.0"] - [(&;text "\n") "\"\\n\""] - [(&;tag ["yolo" "lol"]) "#yolo;lol"] - [(&;symbol ["yolo" "lol"]) "yolo;lol"] - [(&;form (list (&;bool true) (&;int 123))) "(true 123)"] - [(&;tuple (list (&;bool true) (&;int 123))) "[true 123]"] - [(&;record (list [(&;bool true) (&;int 123)])) "{true 123}"] - [(&;local-tag "lol") "#lol"] - [(&;local-symbol "lol") "lol"] - )] - ($_ seq ))) diff --git a/stdlib/test/test/lux/meta/poly/eq.lux b/stdlib/test/test/lux/meta/poly/eq.lux deleted file mode 100644 index c0644a7fa..000000000 --- a/stdlib/test/test/lux/meta/poly/eq.lux +++ /dev/null @@ -1,72 +0,0 @@ -(;module: - lux - (lux [io] - (control [monad #+ do Monad] - [eq #+ Eq]) - (data text/format - [bool] - [number "i/" Number] - [text] - [maybe] - (coll [list])) - ["r" math/random] - [meta] - (meta [poly #+ derived:] - ["&" poly/eq])) - lux/test) - -## [Utils] -(type: Variant - (#Case0 Bool) - (#Case1 Int) - (#Case2 Frac)) - -(type: #rec Recursive - (#Number Frac) - (#Addition Frac Recursive)) - -(type: Record - {#unit Unit - #bool Bool - #int Int - #frac Frac - #text Text - #maybe (Maybe Int) - #list (List Int) - #variant Variant - #tuple [Int Frac Text] - #recursive Recursive}) - -(def: gen-recursive - (r;Random Recursive) - (r;rec (function [gen-recursive] - (r;alt r;frac - (r;seq r;frac gen-recursive))))) - -(def: gen-record - (r;Random Record) - (do r;Monad - [size (:: @ map (n.% +2) r;nat) - #let [gen-int (|> r;int (:: @ map (|>. i/abs (i.% 1_000_000))))]] - ($_ r;seq - (:: @ wrap []) - r;bool - gen-int - r;frac - (r;text size) - (r;maybe gen-int) - (r;list size gen-int) - ($_ r;alt r;bool gen-int r;frac) - ($_ r;seq gen-int r;frac (r;text size)) - gen-recursive))) - -(derived: (&;Eq Record)) - -## [Tests] -(context: "Eq polytypism" - (<| (times +100) - (do @ - [sample gen-record - #let [(^open "&/") Eq]] - (test "Every instance equals itself." - (&/= sample sample))))) diff --git a/stdlib/test/test/lux/meta/poly/functor.lux b/stdlib/test/test/lux/meta/poly/functor.lux deleted file mode 100644 index 8ece07447..000000000 --- a/stdlib/test/test/lux/meta/poly/functor.lux +++ /dev/null @@ -1,30 +0,0 @@ -(;module: - lux - (lux [io] - (control [monad #+ do Monad] - [functor] - [eq #+ Eq] - [state]) - (data text/format - [bool] - [number "i/" Number] - [text] - [identity]) - ["r" math/random] - [meta] - (meta [poly #+ derived:] - ["&" poly/functor])) - lux/test) - -## [Utils] -(derived: (&;Functor ;Maybe)) - -(derived: (&;Functor ;List)) - -(derived: (&;Functor state;State)) - -(derived: (&;Functor identity;Identity)) - -## [Tests] -(context: "Functor polytypism." - (test "" true)) diff --git a/stdlib/test/test/lux/meta/syntax.lux b/stdlib/test/test/lux/meta/syntax.lux deleted file mode 100644 index 511c56e68..000000000 --- a/stdlib/test/test/lux/meta/syntax.lux +++ /dev/null @@ -1,153 +0,0 @@ -(;module: - lux - (lux [io] - (control [monad #+ do Monad] - [eq #+ Eq] - ["p" parser]) - (data [text "Text/" Monoid] - text/format - [number] - [bool] - [ident] - ["E" error]) - ["r" math/random] - [meta] - (meta [code] - ["s" syntax #+ syntax: Syntax])) - lux/test) - -## [Utils] -(def: (enforced? parser input) - (-> (Syntax []) (List Code) Bool) - (case (p;run input parser) - (#;Right [_ []]) - true - - _ - false)) - -(def: (found? parser input) - (-> (Syntax Bool) (List Code) Bool) - (case (p;run input parser) - (#;Right [_ true]) - true - - _ - false)) - -(def: (is? Eq test parser input) - (All [a] (-> (Eq a) a (Syntax a) (List Code) Bool)) - (case (p;run input parser) - (#;Right [_ output]) - (:: Eq = test output) - - _ - false)) - -(def: (fails? input) - (All [a] (-> (E;Error a) Bool)) - (case input - (#;Left _) - true - - _ - false)) - -(syntax: (match pattern input) - (wrap (list (` (case (~ input) - (^ (#;Right [(~' _) (~ pattern)])) - true - - (~' _) - false))))) - -## [Tests] -(context: "Simple value syntax." - (with-expansions - [ (do-template [ ] - [(test - (and (is? (list ( ))) - (found? (s;this? ( )) (list ( ))) - (enforced? (s;this ( )) (list ( )))))] - - ["Can parse Bool syntax." true code;bool bool;Eq s;bool] - ["Can parse Nat syntax." +123 code;nat number;Eq s;nat] - ["Can parse Int syntax." 123 code;int number;Eq s;int] - ["Can parse Deg syntax." .123 code;deg number;Eq s;deg] - ["Can parse Frac syntax." 123.0 code;frac number;Eq s;frac] - ["Can parse Text syntax." "\n" code;text text;Eq s;text] - ["Can parse Symbol syntax." ["yolo" "lol"] code;symbol ident;Eq s;symbol] - ["Can parse Tag syntax." ["yolo" "lol"] code;tag ident;Eq s;tag] - )] - ($_ seq - - - (test "Can parse symbols belonging to the current namespace." - (and (match "yolo" - (p;run (list (code;local-symbol "yolo")) - s;local-symbol)) - (fails? (p;run (list (code;symbol ["yolo" "lol"])) - s;local-symbol)))) - - (test "Can parse tags belonging to the current namespace." - (and (match "yolo" - (p;run (list (code;local-tag "yolo")) - s;local-tag)) - (fails? (p;run (list (code;tag ["yolo" "lol"])) - s;local-tag)))) - ))) - -(context: "Complex value syntax." - (with-expansions - [ (do-template [ ] - [(test (format "Can parse " " syntax.") - (and (match [true 123] - (p;run (list ( (list (code;bool true) (code;int 123)))) - ( (p;seq s;bool s;int)))) - (match true - (p;run (list ( (list (code;bool true)))) - ( s;bool))) - (fails? (p;run (list ( (list (code;bool true) (code;int 123)))) - ( s;bool))) - (match (#;Left true) - (p;run (list ( (list (code;bool true)))) - ( (p;alt s;bool s;int)))) - (match (#;Right 123) - (p;run (list ( (list (code;int 123)))) - ( (p;alt s;bool s;int)))) - (fails? (p;run (list ( (list (code;frac 123.0)))) - ( (p;alt s;bool s;int))))))] - - ["form" s;form code;form] - ["tuple" s;tuple code;tuple])] - ($_ seq - - - (test "Can parse record syntax." - (match [true 123] - (p;run (list (code;record (list [(code;bool true) (code;int 123)]))) - (s;record (p;seq s;bool s;int))))) - ))) - -(context: "Combinators" - ($_ seq - (test "Can parse any Code." - (match [_ (#;Bool true)] - (p;run (list (code;bool true) (code;int 123)) - s;any))) - - (test "Can check whether the end has been reached." - (and (match true - (p;run (list) - s;end?)) - (match false - (p;run (list (code;bool true)) - s;end?)))) - - (test "Can ensure the end has been reached." - (and (match [] - (p;run (list) - s;end!)) - (fails? (p;run (list (code;bool true)) - s;end!)))) - )) diff --git a/stdlib/test/tests.lux b/stdlib/test/tests.lux index 34f6ef8b0..3f02bf694 100644 --- a/stdlib/test/tests.lux +++ b/stdlib/test/tests.lux @@ -62,10 +62,10 @@ (math ["_;" random] (logic ["_;" continuous] ["_;" fuzzy])) - (meta ["_;" code] - ["_;" syntax] - (poly ["poly_;" eq] - ["poly_;" functor])) + (macro ["_;" code] + ["_;" syntax] + (poly ["poly_;" eq] + ["poly_;" functor])) (type ["_;" implicit] ["_;" object]) (lang ["lang_;" syntax] @@ -88,7 +88,7 @@ [css]) (coll (tree ["tree_;" parser]))) (math [random]) - [meta] + [macro] (type [unit]) [world/env]) ) -- cgit v1.2.3