Archive for the 'Lisp' Category

Lisp Redeemed?

Sunday, October 29th, 2006

Well, long long ago, Reddit used to run on Lisp. Unfortunately, due to some problems with working setup, they had to move to Python, after which a huge brou-ha-ha followed. Just do a google search, and you will find it. Somebody recently asked on c.l.l as to why the switch happend at all. Steve Huffman (one of the Reddit guys) says so:

“Python drives me nuts, and I miss Lisp, but I’m not the only
person working on reddit, so we use what we can collectively use best.”

Sigh. Yeah. I understand what he is feeling. Lisp kinda grows on you. You can just drop any other programming language you picked up and move on to others, but there’s something about Lisp that you will always miss in others. “Quality without a name”?

Yes, I do think so. There are somethings in life which have that. For me, a BMW car has that (a Merc is somehow too flashy for my taste), so does Emacs (am I mixing metaphors too randomly?) and so do some of the retail stores I admire. They somehow get the right mix of elegance, functionality and price. And it becomes irresistibly appealing.

Improvement Ravine

Thursday, October 19th, 2006

I was struck by the timeliness of this essay by Martin Fowler. It’s something I face everyday as I’m stumbling through my way to do a simple webapp in Lisp. Well, Ruby’s ravine is deceptively simple, so I might have forgotten the trials of learning a new language. It’s always the same. But for me, the ravine seems especially deep and long compared with say, Rails because it’s optimized for web development, and let’s me prototype something non-trivial in a matter of few hours.

Not so with CL, as I have to cobble together different alternatives for web servers, try them out, different html-generating frameworks, again check them out, and finally whether to go for a JavaScript/CSS-generating framework or not, etc. It temptation is is very much there to just do it in Rails and be done with it. But CL keeps beckoning me with that “Quality Without a Name”. For now, I’m plodding on. Let’s see how far the plateau is, or if it exists at all (at least with respect to webapps).

God Wrote in Lisp

Friday, September 29th, 2006

This is so cool, it has to be reproduced here. Original from here.

The Eternal Flame (God Wrote in Lisp)

Tekst van Bob Kanefsky, gezongen door Julia Ecklar.

I was taught assembler
in my second year of school.
It’s kinda like construction work –
with a toothpick for a tool.
So when I made my senior year,
I threw my code away,
And learned the way to program
that I still prefer today.

Now, some folks on the Internet
put their faith in C++.
They swear that it’s so powerful,
it’s what God used for us.
And maybe it lets mortals dredge
their objects from the C.
But I think that explains
why only God can make a tree.

For God wrote in Lisp code
When he filled the leaves with green.
The fractal flowers and recursive roots:
The most lovely hack I’ve seen.
And when I ponder snowflakes,
never finding two the same,
I know God likes a language
with its own four-letter name.

Now, I’ve used a SUN under Unix,
so I’ve seen what C can hold.
I’ve surfed for Perls, found what Fortran’s for,
Got that Java stuff down cold.
Though the chance that I’d write COBOL code
is a SNOBOL’s chance in Hell.
And I basically hate hieroglyphs,
so I won’t use APL.

Now, God must know all these languages,
and a few I haven’t named.
But the Lord made sure, when each sparrow falls,
that its flesh will be reclaimed.
And the Lord could not count grains of sand
with a 32-bit word.
Who knows where we would go to
if Lisp weren’t what he preferred?

And God wrote in Lisp code
Every creature great and small.
Don’t search the disk drive for man.c,
When the listing’s on the wall.
And when I watch the lightning burn
Unbelievers to a crisp,
I know God had six days to work,
So he wrote it all in Lisp.

Yes, God had a deadline.
So he wrote it all in Lisp.

Rainer Joswig’s talk on Lisp at Bangalore Lisp Users Group

Monday, July 17th, 2006

This weekend was very special. As you know, I’ve been learning Lisp for a while now, lately with Touretzky. I’ve come to appreciate the book more and more, and it gives me those glimpses of the raw expressive power the language has when doing the exercises. I think it’s the perfect book for learning Lisp. For that matter, i think all beginner programming books need to be like that.

Anyways, I digress. I have attended a wonderful seminar by Rainer Joswig, a German Lisp guru from Hamburg, given to the Bangalore Lisp User’s Group. I have taken the bus the night before from Chennai, ended up there in the morning, and went to Valtech’s (Mr. Joswig’s employer) Bangalore office. Met Thomas Elam there, a interesting person, who quit his job in silicon valley, got fed up with the life there, taken his bit of inheritance, came to India to study under a guru, but finally wanted to make some money. He currently works for Wipro, working on a Lisp project.

There are many more, a couple of Lispers from Mumbai – they’re working on a flight/hotel-booking service called ClearTrip. Looks interesting, and accessible. By the way, it’s running CMUCL! A guy from IBM Research, Roshan Mathews from Chennai (a member of Chennai.rb) and one of my friends living in Bangalore. All in all, it was a small group, but very interested in Lisp.

The talk started off with Rainer taking us through the initial history of Lisp, how it came about, various flavors of Lisp, with a special emphasis on InterLisp and the tools that sprung up around it. He spoke about Sedit, a structure-editing editor, and how Notecards, a InterLisp tool gave birth to Hypercards in Mac OS and which in turn became the inspiration for Wiki. Quite an interesting history.

Slowly, we started talking about the current flavors, and Rainer explained the differences and advantages between CMUCL, SBCL, CLISP and other such Common Lisp implementations. Then he showed us several videos he took while working with some of the amazing Lisp Machines he has. Imagine! an machine which runs totally on Lisp! Ain’t it cool? It’s so sad Symbolics had to die. Would have loved to get my hands on one.

Then we went on to a demo of LispWorks, a commercial Lisp IDE which costs a bomb but is very cool to work with and has a ton of features.

All through, we were supplied with nice coffee, biscuits and pop by the Valtech guys. They’re amazing hosts! And we also had some pizza after the break, afer which Rainer discussed about cl-http, the Common Lisp web server. He discussed about the licence issues of CL-HTTP and explaied the reason behind the unusual licensing used by it.

There was a bit of discussion about the difference between a super class and a metaclass (a doubt raised by Tom Elam) and ASDF, how it is different from a packaging system (my doubt) and he explained how to load lisp packages from pathnames, how to set them, etc. All in all, a wonderful day spent learning about Lisp, it’s history and its current state-of-the-art. Amazing. Here are some pictures I have taken of the event:

Pic 1, Pic 2