1 ;; Macro definitions used for SAM behaviour definition
10 (define-syntax make-beh
11 (syntax-rules (: => finally)
12 ((make-beh : parent (self) (pat => body ...) ... (finally after ...))
13 (cons (lambda (self . message)
20 ((make-beh (self) (pat => body ...) ... (finally after ...))
21 (make-beh : root-beh (self) (pat => body ...) ... (finally after ...)))
22 ((make-beh : parent (self) (pat => body ...) ...)
23 (make-beh : parent (self) (pat => body ...) ... (finally)))
24 ((make-beh (self) (pat => body ...) ...)
25 (make-beh : root-beh (self) (pat => body ...) ... (finally)))))
27 (define-syntax define-beh
30 (define name (make-beh rest ...)))))
32 (define-syntax make-actor-with-beh
36 (make-beh rest ...)))))
38 (define-syntax define-actor-with-beh
42 (make-actor-with-beh rest ...))))))