(import sam matchable (chicken process-context) srfi-18) (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))))