scheme Read from an input port


Reading from an input port can be done in many ways. We can use the read method used by the REPL. It will read and interpret space separated expressions.

Taking the example from the string port above. We can read from the port like this:

(define p
  (open-input-string "(a . (b . (c . ()))) 34"))
(read p) -> (a b c)
(read p) -> 34

We can read from a port as char using the special method read-char. This will return a single char from the port that we're reading from.

(define p (open-input-string "hello"))
(read-char p) -> #\h