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:[EMAIL PROTECTED] tel:917-770-6565 http://alexjacobson.com On Mon, 3 May 2004 [EMAIL PROTECTED] 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." [EMAIL PROTECTED] > _______________________________________________ > Haskell-Cafe mailing list > [EMAIL PROTECTED] > http://www.haskell.org/mailman/listinfo/haskell-cafe > _______________________________________________ Haskell-Cafe mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/haskell-cafe