Implemented beh hierarchy and behaviour macros.
[sam.git] / simple_test.scm
index f20d203..35c9d48 100644 (file)
@@ -1,14 +1,18 @@
-(import matchable
-        (chicken process-context)
-        srfi-18)
+(import sam-macros)
 
-(define (main-beh self system)
-  (send-message system 'print "Hello, what is your name?")
-  (send-message system 'read
-                (make-actor (lambda (self . message)
-                              (match message
-                                ((name)
-                                 (send-message system 'print "Hello, " name "!")
-                                 'done)))))
-
-  (send-message-later system 10 'print "Boo!"))
+(define-beh main-beh (self)
+  ((system) =>
+   (send-message system 'print "Hello, what is your name?")
+   (send-message system 'read
+                 (make-actor (make-beh (self)
+                                       ((name) =>
+                                        (send-message system 'print "Hello, " name "!")
+                                        'done))))
+   (send-message system 'ping
+                 (make-actor (make-beh (self)
+                                       (('pong) =>
+                                        (send-message system 'print
+                                                      "Received pong from system!")
+                                        'done))))
+   (send-message-later system 10 'print "Boo!")
+   'done))