; (readc stream)
; nil stream means stdout
; returns nil on eof
(xdef 'readc (lambda (str)
(let ((p (if (ar-false? str)
(current-input-port)
str)))
(let ((c (read-char p)))
(if (eof-object? c) 'nil c)))))
From ac.scm
©