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