Playing with using actors for IF.
[actors.git] / actors.scm
index 884920d..fc266a3 100644 (file)
@@ -4,7 +4,9 @@
    send-message
    run
    send-and-run
-   trace-enabled)
+   restart
+   enable-trace
+   disable-trace)
 
   (import scheme
           (chicken base)
 
   (define trace-enabled #f) ;used for debugging
 
+  (define (enable-trace)
+    (set! trace-enabled #t))
+
+  (define (disable-trace)
+    (set! trace-enabled #f))
+
 
 ;;;
 ;;; Actor creation
 
   (define (send-and-run actor . message)
     (apply send-message (cons actor message))
-    (run)))
+    (run))
+
+  (define (restart)
+    (set! message-queue (make-fifo))
+    (set! actor-table (make-hash-table))))