On Tue, Feb 15, 2011 at 1:58 PM, Henning Thielemann < [email protected]> wrote:
> > On Fri, 4 Feb 2011, Stephen Sinclair wrote: > > Anyways, due to the field I work in, one subject area I find myself >> obsessed with is the seeming conflicts of interest between functional >> programming and real-time guarantees (for writing DSP programs, etc). >> The former allows more powerful ways to express programs and >> modularize logic, but seems to often require methods for abstracting >> machine architecture such as garbage collection, which is not >> compatible with time determinism. Avoiding GC seems to require the >> use of more restrictive languages like in the case of FAUST, which is >> basically a declarative DSP description language. I'd like to >> eventually find just the right balance between time determinism and >> general-purpose programming. >> > > FAUST is essentially like Arrow programming in Haskell. I prefer Arrows in > Haskell because they are stricter. E.g. in FAUST you can plug together boxes > with non-matching numbers of inputs and outputs and FAUST somehow connects > them anyway. I suspect I would more like to get an error in such cases. > > In synthesizer-llvm I programmed DSP arrows that generate LLVM assembly > code. There is no Garbage Collection going on silently. It should be > appropriate for tasks with hard time and memory constraints. Actually, > Haskell with the 'llvm' package is the greatest macro assembler I ever used! > :-) Agreed about Haskell with the 'llvm' package (although I haven't used many other macro assemblers). It's very nice for meta-programming. John
_______________________________________________ haskell-art mailing list [email protected] http://lists.lurk.org/mailman/listinfo/haskell-art
