X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=actors.git;a=blobdiff_plain;f=actors.scm;h=45af82255d8149f94bb786240fa5a12e9851bd75;hp=fa6f1bbc5a840210339a9d5d0f069c7ccbcde011;hb=10a0ca76197de20a21ca0a8934566090edb5dbe4;hpb=fbacbb91961bea3410f457012075aabd91c168c1 diff --git a/actors.scm b/actors.scm index fa6f1bb..45af822 100644 --- a/actors.scm +++ b/actors.scm @@ -31,11 +31,13 @@ (if (null? behaviour) (print "Warning: discarded message " message " to unknown actor " address) (let ((value (apply behaviour (cons address message)))) - (match value - ('done (hash-table-delete! actor-table address)) - ('sleep 'do-nothing) + (case value + ((done) (hash-table-delete! actor-table address)) + ((sleep) 'do-nothing) (else - hash-table-set! actor-table address value)))))) + (if trace-enabled + (print "Updating behaviour of " address)) + (hash-table-set! actor-table address value))))))) ;;; ;;; FIFO queue implementation