mit-scheme-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: using open-i/o-file function


From: cph
Subject: Re: using open-i/o-file function
Date: Sat, 3 Apr 2021 18:18:14 -0700

You need to rewind the file pointer. That's how Unix files work. I forget the exact port operation you need, but it should be in the manual.

Sent with a Spark
On Apr 3, 2021, 5:23 PM -0700, Nicholas Papadonis <nick.papadonis.ml@gmail.com>, wrote:
I'm using MIT Scheme 10.1.5 and am curious why the following code using open-i/o-file is not working as I expected. Does anyone know what the issue is?
(define l "~/tmp0")
(define x ''(a b (c d) e f))

(let ((p (open-i/o-file l)))
  (begin (write x p)
     (flush-output p)
     (let ((r (read p)))
       (close-port p)
       r)))
;Value: #!eof
when I was expecting:
;Value: (quote (a b (c d) e f))
When using open-input-file or open-output-file the results are expected:
(let ((p (open-output-file l)))
  (write x p)

  (close-port p))

(let ((p (open-input-file l)))
  (let ((r (read p)))
    (close-port p)
    r))
;Value: (quote (a b (c d) e f))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]