summaryrefslogtreecommitdiff
path: root/sly/signal.scm
diff options
context:
space:
mode:
authorDavid Thompson <dthompson2@worcester.edu>2015-11-15 10:01:28 -0500
committerDavid Thompson <dthompson2@worcester.edu>2015-11-15 10:01:28 -0500
commit168894b85b818d276968b8ab68800e3a1942bdf6 (patch)
tree1f1129ecc68704a8b4fdb2f014f0c19ce638b7b2 /sly/signal.scm
parent8f48026c7f3c441711a2f13a7b4d2518ca80f66b (diff)
signal: Add signal-call.
* sly/signal.scm (signal-call): New procedure. * doc/api/signals.texi: Add docs.
Diffstat (limited to 'sly/signal.scm')
-rw-r--r--sly/signal.scm9
1 files changed, 8 insertions, 1 deletions
diff --git a/sly/signal.scm b/sly/signal.scm
index 0ddda2a..e57e880 100644
--- a/sly/signal.scm
+++ b/sly/signal.scm
@@ -53,7 +53,8 @@
signal-every signal-timer signal-since
signal-delay
signal-throttle
- signal-generator))
+ signal-generator
+ signal-call))
;;;
;;; Signals
@@ -425,3 +426,9 @@ ticks."
(lambda () body ...))
handler))
signal))
+
+(define (signal-call proc-signal . arg-signals)
+ "Create a new signal that applies the procedure within PROC-SIGNAL
+to the arguments in ARG-SIGNALS."
+ (apply signal-map (lambda (proc . args) (apply proc args))
+ proc-signal arg-signals))