X-Git-Url: https://thelambdalab.xyz/gitweb/index.cgi?p=sam.git;a=blobdiff_plain;f=simple_test.scm;h=35c9d48973340ad49562aca2d63b66e4cf8ba793;hp=cd6149b86a2bad0713688562b48c00cba94125ea;hb=HEAD;hpb=38a62fdef7fe2929d7e0bba8a847a3e1cc50c177 diff --git a/simple_test.scm b/simple_test.scm index cd6149b..35c9d48 100644 --- a/simple_test.scm +++ b/simple_test.scm @@ -1,30 +1,18 @@ -(import sam - 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) - (print message) - (match message - ((name) - (send-message system 'print "Hello, " name "!") - 'done))))) - - (send-message-later system 10 'print "Boo!")) - -(let loop ((args (cdr (argv))) - (host "localhost") - (port 8000)) - (match args - (((or "-h" "--help")) - (print "Usage: simple_test [ -h ] [ --port PORT ] [ --hostname host ]")) - (((or "-p" "--port") pstr rest ...) - (loop rest host (string->number pstr))) - (("--hostname" hstr rest ...) - (loop rest hstr port)) - (() - (print "-- Starting SAM on " host ":" port " --\n") - (boot-sam host port main-beh)))) +(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))