Subject: The history of print, prin1, and princ? From: Erik Naggum <erik@naggum.net> Date: Sun, 09 Dec 2001 06:33:02 GMT Newsgroups: comp.lang.lisp Message-ID: <3216868380267773@naggum.net> When teaching Common Lisp to a friend, a whole lot of interesting questions have come up, about half of which I have been able to answer right away, and the rest requiring quite a bit of research -- probably the best reward a teacher can get. However, I am stumped for answers to both the name and functionality of the print family of functions. Why does print terminate with a space? (Starting with a newline is an obvious feature, and is not questioend. :) What functionality need does or did this fill? Do people avoid print because of this? (In Lisp 1.5, print prints one S-expression on a line or punch card.) How did the name "prin1" arise? In Lisp 1.5, prin1 prints an atomic symbol, only, not an S-expression. In Common Lisp, it not only takes an S-expression, but exists in a prin1-to-string version, as well, while print does not have a print-to-string version. And where did the name "princ" come from? It is not equally ancient as the other functions, but also has a corresponding princ-to-string version. For now, I have recommended write, write-to-string, and format instead of the print family, but as names, print-object and print-unreadable-object still hang around despite not producing delimiters associated with print. /// -- The past is not more important than the future, despite what your culture has taught you. Your future observations, conclusions, and beliefs are more important to you than those in your past ever will be. The world is changing so fast the balance between the past and the future has shifted.