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

Reply via email to