[Haskell-cafe] What *not* to use Haskell for

Henning Thielemann schlepptop at henning-thielemann.de
Fri Nov 14 06:33:02 EST 2008


Dan Piponi schrieb:
> Real time audio applications are top of my list of "crazy projects I
> would work on if I had a month spare". I think it might work out
> nicely. My approach wouldn't be to talk directly to audio hardware
> from Haskell but instead use a framework like Lava to generate low
> level code from an embedded DSL. I think that would be a really
> elegant way to work at a high level and yet have the result execute
> *faster* than traditionally written C++ code.
> --
> Dan
> 
> On Tue, Nov 11, 2008 at 7:41 PM, sam lee <skynare at gmail.com> wrote:
>> I haven't found multitrack audio recording applications written in
>> Haskell. These are usually written in C++ using Jack audio or ASIO.
>> This probably means that it is not a good idea to write real time
>> audio applications in Haskell at the moment.
>> So, probably avoid writing applications that use a high frequency
>> timer and IO that should be synchronous to the timer in Haskell.


I do real time audio processing based on lazy storable vectors, however
I do not plan to implement another GUI driven program but want to
program audio algorithms and music in Haskell.
  http://www.haskell.org/haskellwiki/Synthesizer
 Although I can do some processing in real-time I don't approach the
speed of say SuperCollider so far. I must rely on GHC's optimizer and
sometimes it does unexpected things.

I know that one of Paul Hudak's students is working on something
similar, called HasSound. The DSL approach is already implemented for
CSound in Haskore (again there is also a not yet published library which
encapsulates this functionality) and you can also do real time sound
processing by controlling SuperCollider:
  http://www.haskell.org/haskellwiki/SuperCollider

See also:
  http://www.haskell.org/haskellwiki/Category:Music


More information about the Haskell-Cafe mailing list