On Wed, 4 Aug 2010, Stephen Sinclair wrote:

On Aug 3, 8:31 pm, Jeremy Shaw <jer...@n-heptane.com> wrote:
 The only area I have had any trouble with Haskell is doing realtime
music synthesis. And only because the garbage collector is not
realtime friendly. That is not unfixable though. However, I am
thinking that the best way to do realtime synthesis with Haskell is to
use it to create a DSL that uses LLVM to create code at runtime so
that the realtime code is outside the scope of the normal RTS and
garbage collector.

I'm also very interested in this topic---how to apply a general-
purpose functional language to real-time needs, even if it is in a
domain-specific way.

If you like to see real-time audio synthesis in action ...
   http://code.haskell.org/hal/05-2010/unsafe-performance/MOV09560.MPG

and for the background:
   http://arxiv.org/abs/1004.4796
   http://dafx04.na.infn.it/WebProc/Proc/P_201.pdf

Unfortunately the package is not yet available on Hackage, because there are some patches to the llvm interface that I could not push to the main branch so far.


Regarding garbage collection: My experience is that the garbage collector is quite friendly, but you run easily into a memory leak, and this memory leak will make the garbage collector busy, because it has to check reachability of more chunks. Nonetheless you can consider the memory leaks being bugs of the garbage collector or the compiler.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to