cd6149b86a2bad0713688562b48c00cba94125ea
[sam.git] / simple_test.scm
1 (import sam
2         matchable
3         (chicken process-context)
4         srfi-18)
5
6 (define (main-beh self system)
7   (send-message system 'print "Hello, what is your name?")
8   (send-message system 'read
9                 (make-actor (lambda (self . message)
10                               (print message)
11                               (match message
12                                 ((name)
13                                  (send-message system 'print "Hello, " name "!")
14                                  'done)))))
15
16   (send-message-later system 10 'print "Boo!"))
17
18 (let loop ((args (cdr (argv)))
19            (host "localhost")
20            (port 8000))
21   (match args
22     (((or "-h" "--help"))
23      (print "Usage: simple_test [ -h ] [ --port PORT ] [ --hostname host ]"))
24     (((or "-p" "--port") pstr rest ...)
25      (loop rest host (string->number pstr)))
26     (("--hostname" hstr rest ...)
27      (loop rest hstr port))
28     (()
29      (print "-- Starting SAM on " host ":" port " --\n")
30      (boot-sam host port main-beh))))