(use-modules (rnrs bytevectors)) (use-modules (ice-9 rdelim)) (define sock (socket PF_INET SOCK_STREAM 0)) (bind sock (make-socket-address AF_INET INADDR_ANY 12345)) (listen sock 128) (define inbound (accept sock)) (define-public (string->scm string) (call-with-input-string string (lambda (port) (read port)))) (define (read-message port) (let next ((char (read-char port)) (out '())) (if (eq? char #\0) (list->string (reverse out)) (next (read-char port) (cons char out)))))