[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).
http://www.alexjacobson.com/archives/2004_04.html#000046
http://www.alexjacobson.com/archives/2004_04.html#000047
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
was.

-Alex-

_________________________________________________________________
S. Alexander Jacobson                  mailto:me at alexjacobson.com
tel:917-770-6565                       http://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
> language.
>
> 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
>
> --
> 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
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>



More information about the Haskell-Cafe mailing list