Log in

No account? Create an account

Practical Lisp 2008

A little more than three years ago there was a thread in comp.lang.lisp about what people were working on in Common Lisp. I found the replies, some summarized here, quite inspirational; they were from people doing practical stuff (even Real Work) with Common Lisp, beyond things like going through Project Euler or doing exercises from SICP. (Not that those aren't fine things to do, but.)

Let's update this. What are you using Common Lisp for in 2008? What are you using to do it? I'll start:

I mostly use Common Lisp to make graphics toys at Wigflip.com. To that end I'm always looking for new ways to produce or consume graphics-related things. For example, I'm adding support for processing OpenType fonts to ZPB-TTF and making a hybrid of Skippy and Vecto to produce simple vector-oriented animations. I'd also like to add APNG support to ZPNG.

I primarily use SBCL on Linux, x86 and x86-64, with Emacs and SLIME. For deploying all my website stuff I use Edi-ware extensively: Hunchentoot, HTML-TEMPLATE, and CL-WHO. I use CLSQL for a few things too. For graphics work, I use mostly my own libraries.

How about you? Leave a comment and let me know.



Page 2 of 4
<<[1] [2] [3] [4] >>


CAPI and error correction

For most of 2007, I worked for ITA, but I quit in November. In December, I wrote a couple of error correction algorithms (Reed-Solomon, BCH, etc.) which are supposed to become a part of a large simulation platform done in LispWorks. Right now, I'm porting a graphics-intensive MCL application to Windows using LispWorks and its CAPI. The latter project will be finished in a few days and incidentally I'm looking for the next one, so if you have interesting Lisp work, let me know... :)


Dead languages! (Lisp is like ancient Greek, no?)

I'm really not a huge fan of the web — insanely impoverished interface, a nuisance to debug, stateless nightmares galore. And yet I, too, am working on a web application. In November the Perseus Project (http://www.perseus.tufts.edu/) open sourced a bunch of their Greek and Latin texts along with the scary Java code that runs their site now. I'm trying to write my own stripped down interface to the texts (view, morphology and dictionary lookup) at first, then add the ability for anyone to annotate bits of text with questions, grammar comments, etc., etc., a Perseus-wiki hybrid (with fussier editorial control).

I'm a Unix sysadmin by day, and I've not yet decided to alienate my colleagues by using Lisp at work, though if I ever decide to finally revolutionize the practice of system monitoring, it sure ain't going to be in perl. That day approaches.

I use mostly SBCL on OSX and Linux, Emacs+SLIME. I, too, use a lot of Edi-ware, but thanks to the XML encoding of the Perseus texts, a lot of Lichtblau-ware, as well.


What I do with Lisp

I work for a tiny billing company and maintain some Lisp which automates the billing process. I use Clisp 2.33 (I think) on MS Windows 2000 and pretty much nothing else. I shell out to external programs a lot during the process (oracle, command line c++ programs, curl, etc). It seems like I should write more lisp so as to remove the requirement to shell out to an external program, but those other programs are used periodically outside of the billing cycle. So, it just hasn't made business sense to tackle those issues. It's a fun project and the code is extremely resilient to change. Features can be added easily. It has been running for the past couple of years and was written when I was first learning lisp, so it's not the best lisp, but still works! woot! At some point, I'd like to do some major refactoring to clean up the code as well as upgrade to a newer version of Clisp.


I'm a grad student doing research in finite algebra and combinatorics. I use lisp (well, scheme, but close enough) to perform computational experiments on rings and graphs.

Through my stipend I am effectively paid to do this, so I consider it a `real world' application.



I am using Lisp as the back-end game engine for a naval simulation war game. Right now it is simple GNU Clisp, though I use SBCL with Slime during development. Later I will use SBCL with lots of ASDF packages as I move to a more stable and professional deployment.


Bio stuff

I'm using lisp for bioinformatics and computational biology. Right now, I build an interface to the Ensembl genome database, based on SBCL and clsql. Subsequent data analyses are done in CL, too. Whoever said that there are no lisp libraries has stoped looking quite some time ago.
I use Lisp to program small tools to convert data for the web-site I build in PHP.

Secondly, I've programmed an IRC bot, named vanbot on #wikipedia-uk channel on freenode.


Browser game

I'm using SBCL/x86/GNU+Linux to develop a Web 2.0 browser game with Weblocks and Elephant as main components.



Old Faithful White Elephant

... is CL to me. Something I never really get the time to get suitably skilled in, yet I always return to it whenever I am hunting for that good old feeling which writing a good program used to give me.

Use so far (personal project) has been implementing some of the simpler methods for technical analysis of stock quotes, with automatic mining of data from a number of web sources. I am currently baking it into Hunchentoot to make it into something useful. I use SBCL on FreeBSD for serverside things, LispWorks Personal for most development, and of course emacs+slime. I do plan to take the leap of faith by purchasing a LispWorks license, but they are still a bit too pricey for a no-budget project unfortunately.

Working in a very C++-oriented industry, I really use CL most to point out to my fellow programmers how bloated and ugly any sort of C++ code looks in comparison. "What, is that a class definition with accessors and all?" :)



Re: Old Faithful White Elephant

I'm currently working on a game using SBCL+cl-opengl and also a Simulink-like software for modelling dynamic systems.

NLP Stuff

I'm trying to do some NLP stuff with CL. Our system is a syntactic parser, and I'm trying to rewrite some parts of it in CL.


It aint dead

I work for www.cleartrip.com. The site mostly runs on CL. We use Allegro CL (earlier we did use CMUCL for some time). The UI rendering, the booking engines, the supplier integration, the payment gateways - all CL. Small parts of the site are done in RoR. We use hunchentoot, cl-ppcre, html-template, cl-memcached and lots of other lisp libraries. Company started with using a canned product made with Java+Oracle. We then replaced parts of it in parallel, proved better performance and stability and were then commissioned (so to speak).

We started with only me but now have about 10 lispers. Things learned : Freshers pick up lisp pretty fast if given simple guidance. You can build very high performance systems with CL. You can build very flexible and maintainable systems in CL.



I'm smuggling some CL into my paid job by writing a testing / conformance suite for an existing Python implementation of a network protocol we need to write a flash client to interface with. As the Python code is done using insane amounts of copy-paste, I went with heavy use of MOP to have the testsuite as declarative as possible.

I'm also trying to start my own company specialising in business (at least for now) CL (web) applications, basing it on extremely rapid customisation possible with Lisp.


Qualitative Simulation

I design and implement algorithm for automatic qualitative simulation of dynamical systems (Gene Regulatory Networks) with lack of precise quantitative information.
Common Lisp helps me when i have to represent and manipulate symbolic data.
I use Common Lisp also to develop UIs to show the results of the simulations.
This my full-time job but in the spare time I hack also on cl-objc.

I primarily use sbcl or ccl on gnu/linux and mac os x with emacs and slime.

what I do with Lisp

I use the Lispworks editor as my primary editor both for home and work. In support of using it for work, I wrote a small framework for making LW automatically mirror some files to a remote server on save, via rsync (described here (http://theclapp.blog-city.com/editing_locally_saving_remotely_lispworks_editor_backed_by.htm), with some maybe-actually-working code).

I have a couple of (relatively) active projects:

* a Vim mode for Lispworks (http://theclapp.org/blog/tags/vim_mode/)
* a GUI program to track my weight and exercise. I've never done much GUI stuff so it's very educational. I may decide to use Kenny's Cells library.

And an inactive project: a Lisp shell that works efficiently on both local and remote accounts.

And an idea for a project: a Lisp interface to the Linux userland filesystem (FUSE). I'd then enhance my editor plugin to use it, and enhance my current home-grown "time machine"-like rbackup setup to use it.
Page 2 of 4
<<[1] [2] [3] [4] >>