[Haskell-cafe] Toy application advice wanted
S. Alexander Jacobson
alex at i2x.com
Thu May 6 13:59:11 EDT 2004
Faced with trying to climb Haskell's (steep!)
learning curve, I wrote a simple (in-memory) rdbms
in under 1000 lines of code (something I will use
anyway if I eventually adopt Haskell as the
implementation language for my prospective app).
Being able to do that certainly impressed me!
OTOH, it occurs to me now that another approach
might have been to try and read/understand/modify
an existing Haskell program in the category of
your intended app.
I think someone wrote a book about multi-media
apps in Haskell (I've seen a chapter somewhere
from Conal Elliot) but I don't remember what it
S. Alexander Jacobson mailto:me at alexjacobson.com
On Mon, 3 May 2004 mikeb at manor.org wrote:
> Hi folks,
> I've got an interesting task this week for my job. (Note that this will
> undoubtably last for longer than a week). I'm evaluating several
> high-level languages as development vehicles for our next suite of
> applications. The languages I'm currently considering are Scheme, Erlang,
> and Haskell.
> Scheme and Haskell have fairly wide acceptance in their particular roles
> (Scheme as the "pretty" lisp, supporting higher-order functions and mostly
> strict [until you roll your own laziness with macros], and Haskell the
> absolute purest language with no side effects and fully lazy evaluation).
> Erlang has a really nice distributed computing model, and has a nice union
> of non- and side-effect qualities (although it's completely strict).
> The toy application I've "designed" for myself is a simple GUI-based app
> that can load a Sun .au format sound file, display its waveform in a
> window, perform some simple filtering, play the sound for the user, and
> then save the changed sound file back out to disk. If I get familiar
> enough with the respective environments I'd like to add zooming in/out and
> scrolling to the waveform display.
> This application should allow me to see all kinds of different
> characteristics of the language/implementation, such as performance (how
> fast can the filter run), I/O (how fast can I load/save data to disk), OS
> interaction (how easy can I "play" the audio), user acceptance (how easy
> is it to do GUI programming) and of course the software engineering goals
> of modularity, correctness, and simplicity.
> The end goal is for me to have three working programs, in three different
> languages, so that I can present to my boss the performance/software
> engineering characteristics of each system to choose our next development
> So I'm writing you to solicit help. I have an amortized four days (32
> hours!!!) to implement this simple application in Haskell. Can anyone
> point me to example code, supporting libraries, tutorials, etc. that are
> in this area of development? If I have to dumb down some of my
> application in order to make a great discovery about a language, that's
> fine. I'm expecting some great differences between these three programs.
> Any advice/pointers/flames welcome. Thanks in advance.
> Mike J. Bell This is all just my opinion.
> "Outside of a dog, a book is man's best
> friend. Inside it's too dark to read." mikeb at manor.org
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
More information about the Haskell-Cafe