Current Project: Network Coding in Lisp

Thomas Ptacek | December 31st, 2004 | Filed Under: Uncategorized

Proof of concept: monitor/cache web pages, republish as XML for NetNewsWire. A small but annoying part of my job involves continuously tracking competitors. Google News catches the news releases reliably, but misses the subtle positioning shifts exposed by the regular marcom-make-work updates.

The catch: I’m not writing threaded code. OpenMCL (my lisp) doesn’t have its own event loop, so I have to write my own.

This is the first real work I’ve done in Lisp. Here are my impressions:

  • The language matches my temperament well. The “lots of irritating parenthesis” thing is totally overblown. If you can get used to a language dictating whitespace, you don’t get to complain about anything else.
  • The Lisp/C interface is beautiful. Unlike anything I’ve ever used before (Tcl, Boost Python, SWIG). No preprocessing, wrapper functions, variable exports. It just works.
  • Basic CLOS is simpler and more elegant than Python, ObjC, or iTcl. Strange because I always got the impression that CLOS was bloated and that people wrote their own object systems in Lisp.
  • Available documentation is excellent. See below. Online reference, tutorial material, analysis.
Fertile ground for future ranting: the popularity of Python over Lisp. What am I missing here? Tim Newsham knows both and swears by Python. Things that have helped me alot:

No comments yet. Be the first.

Leave a reply