Welcome to the CHICKEN Scheme pasting service
no title added by buhman on Sun Dec 2 06:24:07 2018
(use netstring) (use s11n) (define data1 '(1 2 3 4)) (define data2 '(a b c d)) (define data3 (map symbol->string data2)) (define (serialize-to-string obj) (call-with-output-string (lambda (port) (serialize obj port)))) (define (deserialize-from-string str) (call-with-input-string str (lambda (port) (deserialize port)))) (define in (call-with-output-string (lambda (port) (netstring-write (serialize-to-string data1) port) (netstring-write (serialize-to-string data2) port) (netstring-write (serialize-to-string data3) port)))) (define out (call-with-input-string in (lambda (port) (list (deserialize-from-string (netstring-read port)) (deserialize-from-string (netstring-read port)) (deserialize-from-string (netstring-read port)))))) #;3> in "73:\x05\x02\x00\x00\x00\x00\x00\x00\x03\x03\x03\x00\x00\x00\x00\x00\x00\x00\x05\x02\x00\x00\x00\x00\x00\x00\x03\x03\x05\x00\x00\x00\x00\x00\x00\x00\x05\x02\x00\x00\x00\x00\x00\x00\x03\x03\a\x00\x00\x00\x00\x00\x00\x00\x05\x02\x00\x00\x00\x00\x00\x00\x03\x03\t\x00\x00\x00\x00\x00\x00\x00\x01,81:\x05\x02\x00\x00\x00\x00\x00\x00\x03\r\x04\x01\x00\x00\x00\x00\x00\x00Ba\x05\x02\x00\x00\x00\x00\x00\x00\x03\r\x04\x01\x00\x00\x00\x00\x00\x00Bb\x05\x02\x00\x00\x00\x00\x00\x00\x03\r\x04\x01\x00\x00\x00\x00\x00\x00Bc\x05\x02\x00\x00\x00\x00\x00\x00\x03\r\x04\x01\x00\x00\x00\x00\x00\x00Bd\x01,77:\x05\x02\x00\x00\x00\x00\x00\x00\x03\x04\x01\x00\x00\x00\x00\x00\x00Ba\x05\x02\x00\x00\x00\x00\x00\x00\x03\x04\x01\x00\x00\x00\x00\x00\x00Bb\x05\x02\x00\x00\x00\x00\x00\x00\x03\x04\x01\x00\x00\x00\x00\x00\x00Bc\x05\x02\x00\x00\x00\x00\x00\x00\x03\x04\x01\x00\x00\x00\x00\x00\x00Bd\x01," #;4> out ((1 2 3 4) (a b c d) ("a" "b" "c" "d"))