Improved examples.
[actors.git] / actors.scm
index 45af822..263acdc 100644 (file)
@@ -9,6 +9,8 @@
 (define actor-table (make-hash-table))
 
 (define (make-actor-with-address address behaviour)
+  (if trace-enabled
+      (print "Making actor with address " address))
   (hash-table-set! actor-table address behaviour)
   address)
 
         (print "Warning: discarded message " message " to unknown actor " address)
         (let ((value (apply behaviour (cons address message))))
           (case value
-            ((done) (hash-table-delete! actor-table address))
             ((sleep) 'do-nothing)
+            ((done)
+             (if trace-enabled
+                        (print "Deleting actor " address))
+             (hash-table-delete! actor-table address))
             (else
              (if trace-enabled
                  (print "Updating behaviour of " address))
 (define (send-and-run actor . message)
   (apply send-message (cons actor message))
   (run))
-