X-Git-Url: https://jxself.org/git/?p=8sync.git;a=blobdiff_plain;f=8sync%2Factors.scm;h=48070c43f10deaeebea1db5c18c23d470c969a2a;hp=9e249cdd987db42fe3c721d9b886b516ab08c33f;hb=95d529296ce772eeb1beb269e42d5fc63ba0bb50;hpb=57b7dfc7a351017e09bd158889ed45fa57e51289 diff --git a/8sync/actors.scm b/8sync/actors.scm index 9e249cd..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 @@ -43,16 +42,16 @@ ;;; Commenting out the
type for now; ;;; it may be back when we have better serializers ;;
- make-address address? + make-address address-actor-id address-hive-id - actor-init! actor-cleanup! - address->string actor-id-actor actor-id-hive actor-id-string + actor-init! actor-cleanup! + actor-alive? build-actions @@ -75,8 +74,6 @@ message-id message-body message-in-reply-to message-wants-reply - message-auto-reply? - <- <-wait spawn-hive run-hive)) @@ -217,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