aboutsummaryrefslogtreecommitdiff
path: root/stdlib/source/program/aedifex/parser.lux
diff options
context:
space:
mode:
Diffstat (limited to 'stdlib/source/program/aedifex/parser.lux')
-rw-r--r--stdlib/source/program/aedifex/parser.lux11
1 files changed, 8 insertions, 3 deletions
diff --git a/stdlib/source/program/aedifex/parser.lux b/stdlib/source/program/aedifex/parser.lux
index da92a59d9..094f60507 100644
--- a/stdlib/source/program/aedifex/parser.lux
+++ b/stdlib/source/program/aedifex/parser.lux
@@ -5,7 +5,7 @@
[monad {"+" do}]]
[control
["[0]" maybe]
- ["<>" parser
+ ["<>" parser ("[1]#[0]" functor)
["<[0]>" code {"+" Parser}]]]
[data
["[0]" text]
@@ -184,8 +184,13 @@
(def: runtime
(Parser Runtime)
- (<code>.tuple (<>.and <code>.text
- (<>.some <code>.text))))
+ (let [environment (<>#each (dictionary.of_list text.hash)
+ (<>.some (<code>.tuple (<>.and <code>.text <code>.text))))]
+ (<code>.tuple
+ ($_ <>.and
+ environment
+ <code>.text
+ (<>.some <code>.text)))))
(def: profile
(Parser /.Profile)