diff options
-rw-r--r-- | source/lux/codata/stream.lux | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/source/lux/codata/stream.lux b/source/lux/codata/stream.lux index 1306e3d8b..86ce99761 100644 --- a/source/lux/codata/stream.lux +++ b/source/lux/codata/stream.lux @@ -123,18 +123,18 @@ (... [wa (split tail)])))) ## [Pattern-matching] -(defsyntax #export (\stream body [patterns (+^ id^)]) +(defsyntax #export (\stream& body [patterns (+^ id^)]) (case (l;reverse patterns) (\ (@list& last prevs)) (do Lux/Monad [prevs (map% Lux/Monad macro-expand-1 prevs) g!s (gensym "s") - body+ (foldL (lambda [inner outer] - (` (let [[(~ outer) (~ g!s)] (! (~ g!s))] - (~ inner)))) - (` (let [(~ last) (~ g!s)] (~ body))) - prevs)] + #let [body+ (foldL (lambda [inner outer] + (` (let [[(~ outer) (~ g!s)] (! (~ g!s))] + (~ inner)))) + (` (let [(~ last) (~ g!s)] (~ body))) + prevs)]] (wrap (@list g!s body+))) _ - (fail "Wrong syntax for \\stream"))) + (fail "Wrong syntax for \\stream&"))) |