From: Christopher Allan Webber Date: Mon, 31 Jul 2017 17:04:15 +0000 (-0500) Subject: Remove (8sync agenda) as an import from actors.scm and add wrap-apply. X-Git-Url: https://jxself.org/git/?a=commitdiff_plain;h=95d529296ce772eeb1beb269e42d5fc63ba0bb50;p=8sync.git 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. --- 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