[net.lang.prolog] Prolog I/O

Pereira%SRI-AI@sri-unix.UUCP (11/04/83)

I agree with the gist of Richard's comments on Prolog I/O, but
let me clarify the "history" of the DEC-10 Prolog I/O predicates
(I implemented them starting from suggestions from David Warren).
The main goal was to get some I/O going in the shortest possible
time so that the system's bootstrapping compiler could read
program files. In this context, most of the problems mentioned
do not occur at all. Then, because writing I/O code for TOPS-10
is very painful, nobody, including myself, could be bothered
to develop something satisfying better the needs of an interactive
environment. Finally, because writing I/O code is totally
unglamorous if not as difficult in Unix and TOPS-20, every
implementor in the "Edinburgh tradition" just copied the
existing evaluable predicates, not in the interests of compatibility
(we didn't care about that then, after all there weren't many
people using the systems), but just because it wasn't were the
fun of implementing Prolog is: designing clever data structures,
stack layouts, space saving techniques, etc.

-- Fernando Pereira