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

Re: printing structures

    Date:    Sat,  4 Oct 1986 02:28:46-EDT
    From:    Miles Bader <bader@spice.cs.cmu.edu>

    Of course, some people actually like to read in what they print.  Why not
    just give different values to *print-length*, *print-level* and
    *print-circle* in your init file?

As Common Lisp is currently designed, this just breaks
programs that like to read in what they print.

We provide a macro, WITH-STANDARD-IO-ENVIRONMENT which
binds the I/O control variables to their standard values.
This provides a sorely needed decoupling between I/O
for inter-program communication and the user-interface.

It is far easier to wrap this one form around the
portion of your program which does I/O than it is to
figure out what variables it depends on, and bind each
of them.  Even if you want a few non-standard bindings,
it's easier to start with the standard bindings and
rebind a few than to deal with each of them.

I >strongly< recommend this be adopted.  Once it's
adopted, it's much easier to discuss changing
the default global bindings for the I/O control
variables to make the environment easier to use
interactively.  Without it, we'll just get caught up
in the communications and compatibility issues.