diff options
Diffstat (limited to '')
-rw-r--r-- | stdlib/source/lux/abstract/monad/indexed.lux | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/stdlib/source/lux/abstract/monad/indexed.lux b/stdlib/source/lux/abstract/monad/indexed.lux index 4e6f51942..0b79a230e 100644 --- a/stdlib/source/lux/abstract/monad/indexed.lux +++ b/stdlib/source/lux/abstract/monad/indexed.lux @@ -39,27 +39,27 @@ (s.tuple (p.some binding))) binding)) -(def: (pair-list [binding value]) +(def: (pair_list [binding value]) (All [a] (-> [a a] (List a))) (list binding value)) -(def: named-monad +(def: named_monad (Parser [(Maybe Text) Code]) (p.either (s.record (p.and (\ p.monad map (|>> #.Some) - s.local-identifier) + s.local_identifier) s.any)) (\ p.monad map (|>> [#.None]) s.any))) -(syntax: #export (do {[?name monad] ..named-monad} +(syntax: #export (do {[?name monad] ..named_monad} {context (s.tuple (p.some context))} expression) - (meta.with-gensyms [g!_ g!bind] + (meta.with_gensyms [g!_ g!bind] (let [body (list\fold (function (_ context next) (case context (#Let bindings) (` (let [(~+ (|> bindings - (list\map pair-list) + (list\map pair_list) list.concat))] (~ next))) @@ -72,7 +72,7 @@ (list.reverse context))] (wrap (list (case ?name (#.Some name) - (let [name (code.local-identifier name)] + (let [name (code.local_identifier name)] (` (let [(~ name) (~ monad) {#..wrap (~' wrap) #..bind (~ g!bind)} (~ name)] |