From 95d529296ce772eeb1beb269e42d5fc63ba0bb50 Mon Sep 17 00:00:00 2001 From: Christopher Allan Webber Date: Mon, 31 Jul 2017 12:04:15 -0500 Subject: [PATCH] Remove (8sync agenda) as an import from actors.scm and add wrap-apply. * 8sync/actors.scm: Remove (8sync agenda) as an import. (wrap-apply): Added, ported from agenda.scm, and which is necessary for actors.scm to function without it. --- 8sync/actors.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/8sync/actors.scm b/8sync/actors.scm index fe8b832..48070c4 100644 --- a/8sync/actors.scm +++ b/8sync/actors.scm @@ -29,7 +29,6 @@ #:use-module (fibers channels) #:use-module (fibers conditions) #:use-module (fibers operations) - #:use-module (8sync agenda) #:use-module (8sync inbox) #:use-module (8sync rmeta-slot) #:export (;; utilities... ought to go in their own module @@ -215,6 +214,11 @@ #:message message)) (apply method actor message (message-body message))) +(define-syntax-rule (wrap-apply body) + "Wrap possibly multi-value function in a procedure, applies all arguments" + (lambda args + (apply body args))) + (define-syntax-rule (build-actions (symbol method) ...) "Construct an alist of (symbol . method), where the method is wrapped with wrap-apply to facilitate live hacking and allow the method definition -- 2.31.1