* 8sync/systems/actors.scm (define-mhandler): New macro.
actor-id-hive
actor-id-string
- mlambda
+ mlambda define-mhandler
make-action-dispatch
define-simple-actor
(let ((message-arg (message-ref message (quote message-arg))) ...)
body body* ...)))))
+;; @@: Sadly, docstrings won't work with this...
+;; I think we need to bust out syntax-case to make that happen...
+(define-syntax-rule (define-mhandler (name actor message message-arg ...)
+ body ...)
+ (define name
+ (mlambda (actor message message-arg ...)
+ body ...)))
+
(define (simple-dispatcher action-map)
(lambda (actor message)
(let* ((action (message-action message))