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
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
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.dylan in the Dylan Code Collection.
slashcache.lisp
slashcache.lisp is a slashdot.org 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
slashdot.lisp provides a method of getting at the latest slashdot.org 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.