[Haskell-cafe] Toy application advice wanted
Ben Lippmeier
Ben.Lippmeier at anu.edu.au
Wed May 5 13:46:58 EDT 2004
Mike,
> I'm evaluating several high-level languages as development
> vehicles for our next suite of applications.
> .. just code some really simple problems.
> Like the Sieve of Eratosthenes, in all three languages.
> Or a simple publish/subscribe framework with a "master"
> state holder and many slaves. Or quicksort. Etc. etc.
I would be careful about using your experience with these toy programs
as an indication of how suitable functional languages (and lazy ones
in-particular) are as 'development vehicles' for your applications.
A functional programmer's idea of a 'toy' program tends to be somewhat
different from a C++/GUI programmers one. Lazy functional languages lend
themselves nicely to parsing, list processing, search trees and the like
- but if you're planning to load a wave file, apply a filter and then
display the result on the screen .. then let's just say that you've got
an adventure ahead of you, and it's not going to take 2 weeks.
... as far as GUIs are concerned, check out
http://www.haskell.org/libraries and look at how many seperate GUI
libraries there are - I counted 16 - then ask what made the developer
for the 16th one choose to start over.
> Haskell is lazy all the time. That's awfully nice...I'm not sure if
> there's a performance penalty somewhere, but assuming there isn't, kudos
> to it.
There is.. and its name is 'space leak'.. and the function
mapAccumL :: (acc -> x -> (acc, y)) -> acc -> [x] -> (acc, [y])
is by far the most elegant way of expressing it :)
BTW: I've just dedicated the next 3 years of my life to trying to write
non-toy programs in lazy functional languages... "adventure" is the
operative word.. not "can't".
Ben.
More information about the Haskell-Cafe
mailing list