summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sly/signal.scm18
1 files changed, 9 insertions, 9 deletions
diff --git a/sly/signal.scm b/sly/signal.scm
index f5dd3cf..9547f17 100644
--- a/sly/signal.scm
+++ b/sly/signal.scm
@@ -184,15 +184,15 @@ be coerced into one."
#'(define name (make-signal-maybe value))))))
(define-syntax-rule (signal-let ((var signal) ...) body ...)
- ((lambda (var ...) body ...) (signal-ref signal) ...))
-
-(define-syntax signal-let*
- (syntax-rules ()
- ((_ ((var signal)) body ...)
- (signal-let ((var signal)) body ...))
- ((_ ((var signal) . rest) body ...)
- (signal-let ((var signal))
- (signal-let* rest body ...)))))
+ "Similar to 'let', but produces a signal whose value is dependent
+upon all signals in the bindings list."
+ (signal-map (lambda (var ...) body ...) signal ...))
+
+(define-syntax-rule (signal-let* ((var signal) ...) body ...)
+ "Similar to 'signal-let', but the signal variable bindings are
+performed sequentially."
+ (let* ((var signal) ...)
+ (signal-map (lambda (var ...) body ...) var ...)))
;;;
;;; Signal Combinators