[Haskell-cafe] Haskell versus Lisp
joelr1 at gmail.com
Fri Sep 16 09:35:15 EDT 2005
I have faced these issues twice, always starting from Lisp and moving
on somewhere else. There's more on my travails at http://
wagerlabs.com/tech and http://wagerlabs.com/uptick.
I implemented a poker engine in Lisp but it appeared that to deliver
it on Windows, Linux and Mac OSX I would need to buy 3 commercial
Lisp licenses. The total cost would have been about 4K euro +
maintenance fees for LispWorks and about 18K USD + 25% maintenance
fees for Allegro CL. Allegro also comes with royalties of less than
10%. Windows Lisps are GPL so I could not use them.
What turned me off with poker was trying to write a Reliable UDP
protocol handler and having a lot of trouble with threads and timers
for some reasons. Fortunately, I discovered Erlang, quickly rewrote
my poker backend and have been happy since. That is until I
discovered Haskell :-). I'm now thinking of rewriting various chunks
of the engine in Haskell (hand ranking for example) to see how it
feels and what I gain. Concurrent Haskell coupled with transactional
memory looks attractive as well.
I also started with Lisp for my trading systems project (Uptick) but
was turned off even faster this time. I investigated what it would
take to write code that overloaded +, *, etc. for arrays or lists and
what it would take to optimize this code. It's possible but it's not
elegant or pleasant.
I love a good challenge and the challenge of learning Haskell is like
no other. It does require me to rewire my brain and to think
different. There are a number of applications where Haskell fits
nicely, google for papers on audio processing, robotics (Yampa), etc.
I have yet to find an application where Lisp would shine over
On Sep 16, 2005, at 3:06 PM, Mark Carter wrote:
> Alas, pulling against this seems to be a number of minuses. The
> commercial Lisp implementations may be good, but what wannabe
> hacker is going to fork out the cash for those babies? The free
> ones that work on Windows are GPL, which means that although
> somebody might be tempted to use them for personal projects, he is
> not going to sell the idea to his boss that stuff should be
> developed in Lisp.
More information about the Haskell-Cafe