tcp-server read-line example pasted by jjf on Fri Nov 28 18:27:02 2014

;;; server.sld
(define-library (my-server)
  (import (scheme base)
          (tcp)
          (tcp-server)
          (only (extras) printf)
          #;(only (utils) read-all))
  (include "impl")
)



;;; impl.scm
(define (tcp-server-eventloop)
  ((make-tcp-server
    (tcp-listen 8888)
    (lambda ()
      (let ((msg (read-line)))
        (printf "got: ~A~%" msg))))
   #t))

(tcp-server-eventloop)



;;; to run:
$ csi -R r7rs -s server.sld

bare read-line added by evhan on Fri Nov 28 23:04:36 2014

$ csi -version

CHICKEN
(c) 2008-2014, The CHICKEN Team
(c) 2000-2007, Felix L. Winkelmann
Version 4.9.1 (rev d143e6e)
linux-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2014-10-19 on capsaicin (Linux)

$ printf "foo\rbar" | csi -p '(read-line)'
foo
$ printf "foo\rbar" | csi -R r7rs -p '(read-line)'
foo