aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/lux/codata/stream.lux14
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&")))