;; Macro definitions used for SAM behaviour definition
;;
-(module sam-macros
- (make-beh define-beh)
+(module sam-macros *
(import scheme
(chicken base)
(define-syntax make-beh
(syntax-rules (: => finally)
((make-beh : parent (self) (pat => body ...) ... (finally after ...))
- (cons (lambda (self . message)
+ (list 'beh
+ (lambda (self . message)
(match message
(pat body ...)
...
(define-syntax define-beh
(syntax-rules ()
((_ name rest ...)
- (define name (make-beh rest ...))))))
+ (define name (make-beh rest ...)))))
+
+ (define-syntax make-actor-with-beh
+ (syntax-rules ()
+ ((_ rest ...)
+ (make-actor
+ (make-beh rest ...)))))
+
+ (define-syntax define-actor-with-beh
+ (syntax-rules ()
+ ((_ name rest ...)
+ (define name
+ (make-actor-with-beh rest ...))))))
+