Updated examples to be compatible with new architecture.
[sam.git] / chat_client.scm
index f6b16d6..d500579 100644 (file)
@@ -1,5 +1,4 @@
-(import sam
-        matchable
+(import matchable
         srfi-13
         (chicken process-context))
 
@@ -14,7 +13,7 @@
                        "Type '/help' for a list of commands.\n")
          (send-message system 'read self))
         (('show-msg from text)
-         (send-message system 'print "Message from " from ": " text))
+         (send-message system 'print from "> " text))
         (((? string? str))
          (if (string-prefix? "/" str)
              (let* ((maybe-idx (string-index str #\space))
@@ -51,7 +50,7 @@
                         (send-message system 'print "Current recipients:")
                         (let loop ((recipients-left recipients))
                           (unless (null? recipients-left)
-                            (send-message system 'print (car recipients-left))
+                            (send-message system 'print (address->string (car recipients-left)))
                             (loop (cdr recipients-left)))))))
                  ((or "q" "quit")
                   (send-message system 'shutdown))
 (define (main-beh self system)
   (send-message (make-actor (make-client-beh system)) 'start)
   'done)
-
-(define (print-usage)
-  (print "Actor-driven chat client.\n")
-  (print "Usage: chat_client -h")
-  (print "       chat_client [-p port_num] [-n host_name]"))
-
-(let loop ((args (cdr (argv)))
-           (host "localhost")
-           (port 8000))
-  (match args
-    (((or "-h" "--help"))
-     (print-usage))
-    (((or "-p" "--port") pstr rest ...)
-     (loop rest host (string->number pstr)))
-    (((or "-n" "--hostname") hstr rest ...)
-     (loop rest hstr port))
-    (()
-     (boot-sam host port main-beh))
-    (else
-     (print "Unrecognised argument '" (car args) "'.\n")
-     (print-usage))))
-