Can save/restore actor table to/from disk.
[actors.git] / testing_factorial3.scm
1 (import actors)
2
3 (enable-trace)
4
5 (define factorial
6   (make-actor-with-address
7    'factorial
8    (lambda (self customer n)
9      (if (= n 0)
10          (send-message customer 1)
11          (let ((fact-acc (make-actor
12                           (lambda (self m)
13                             (send-message customer (* n m))
14                             'done))))
15            (send-message self fact-acc (- n 1))))
16      'sleep)))
17
18 (define println
19   (make-actor-with-address 'println
20    (lambda (self . message)
21      (apply print message)
22      'sleep)))
23
24 (send-message factorial println 5)
25 (send-message factorial println 7)
26 (run)