Nicholas May, on his blog Because two cents wasn’t enough, reminds me of something I’d long forgotten: The dribble command in Common Lisp. What dribble does is record a Lisp session much like the Unix script command or the Scheme transcript-on/transcript-off commands. To start the recording, execute the command
(dribble file-name)
and dribble will start recording your REPL session into the file-name file. You can stop the recording by executing
(dribble)
This functionality is more useful than you might think. The canonical use, I suppose, is for students to record homework sessions. It’s also useful for recording bits of a REPL session that you want to include in a book, report, or blog post. It has the advantage of showing exactly what happened during the session. It’s not something you’ll use everyday, but when you want to capture a session, it’s just what you need.