Lisp, in its many forms and flavours, is my favourite recreational programming language. I'm particularly fond of Common Lisp. I don't claim to be any good with CL and I don't offer the code available here as examples of good CL programming. The reason I make this code available is that I've found reading other people's code has helped my programming (there's also the chance that someone might offer feedback about my CL code).


do-over-directory-tree.jl is a rep function for working over a directory tree and doing things to each file it finds. It could possibly do with some added error checking and the like but it was a quick 'n' dirty attempt to demonstrate to someone how it could be done with rep.

org-davep-cldict - RFC2229 client for Common Lisp and CLIM

cldict org-davep-cldict is a CLIM (actually, McCLIM) application that provides an interface around org-davep-dict. This is my first ever attempt at writing a CLIM based application. The code is packaged for use with asdf-install but you'll also need to be installing it into a CLIM-enabled Common Lisp environment.

org-davep-dict - RFC2229 client for Common Lisp

org-davep-dict is an implementation of a RFC2229 client class, plus other tools, in Common Lisp. The code is packaged for use with asdf-install.

org-davep-dictrepl - RFC2229 client REPL for Common Lisp

org-davep-dictrepl is some test code for playing with org-davep-dict. It provides a simple RFC2229 client REPL from which you can interrogate a dictionary server. The code is packaged for use with asdf-install.

org-davep-newsrc - Common Lisp class for reading a Un*x newsrc file

org-davep-newsrc provides a class for reading the content of a newsrc file. The code is packaged for use with asdf-install.

org-davep-nntp - Common Lisp class for talking to a news server

Finding that I needed a scriptable NNTP client utility I did the decent thing and totally ignored everything available and decided to reinvent the wheel. I did, however, reinvent the wheel as an exercise in playing with some Common Lisp.

org-davep-nntp is the result. Initially the code was written to work in an environment that has clocc available but I've since changed things around so that it makes use of acl-compat and is packaged so that it can be installed with asdf-install

While most of NNTP is supported I've not done much in the way of extensions yet, I'll be adding them as I play. You might also want to note that this isn't intended to be the basis for yet another newsreader.

Chris Double has implemented a version of this code in Dylan. You can find nntp.dylanDylan Code Collection.


slashcache.lisp is a headline grabber. It provides functions for grabbing and storing slashdot headlines. Back when I had a dial-up connection I'd use a utility that grabbed and stored the headlines (I ran that as part of my connection script) and I also had a command line utility for displaying the latest headlines. I don't actually use any of this any more, that's what RSS readers are for.

I've also got some emacs code for viewing and working with the saved headline list.

Note that this code requires slashdot.lisp and clocc.


slashdot.lisp provides a method of getting at the latest headlines. See slashcache.lisp for an example of using this code.

Note that the code is written to work in an environment that has clocc available.

Page last modified: 2017-03-24 10:27:59 UT
Dave Pearson <>
Valid XHTML 1.1 Valid CSS