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-off commands. To start the recording, execute the command
dribble will start recording your REPL session into the
file-name file. You can stop the recording by executing
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.