#!/usr/abu/pico/bin/pico /usr/abu/pico/lib.l
# 24sep02abu

(de msg Lst
   (out *Sock
      (mapc prin Lst)
      (prinl) ) )


(setq *Port (port 4004))

(do NIL
   (setq *Sock (listen *Port))
   (NIL (fork) (close *Port))
   (close *Sock) )

(out *Sock
   (prin "Please enter your name: ")
   (flush) )
(in *Sock (setq *Name (line T)))

(tell 'msg "+++ " *Name " arrived +++")

(task *Sock
   (in *Sock (setq Line (line T)))
   (cond
      ((=T Line)
         (tell 'msg "--- " *Name " left ---")
         (bye) )
      (T (tell 'msg *Name "> " Line)) ) )
(wait)
