Почему в схеме такие сложности чтобы просто прочитать файл? Вот, например, в Newlisp просто пишешь
(print (read-file "./file"))
(call-with-input-file "./file"
(lambda (input-port)
(let loop ((x (read-char input-port)))
(if (not (eof-object? x))
(begin
(display x)
(loop (read-char input-port)))))))