Hello list,

I work at the Topological Media Lab[1] in Montreal making responsive
environments with pseudo-physical "computational materials". I'm also very
interested in improvised electronic music and sometimes work on digital
musical interfaces.

I work mainly with Max/MSP, but the shortcomings of that environment and its
similarity to functional programming languages (strong affinity with
"arrows" for instance) has lead me to Haskell as a possible tool for future
use and perhaps even a "next gen" replacement for Max, its little sister Pd
and other such realtime, dataflow oriented media environments. That is,
however, a 10 year project that I may or may not embark on one day!

I share some of Stephen Sinclair's goals, partly due to proximity (we're
down the street from each other and I take classes with the IDMIL lab
director), partly due to a coincidental obsession with program "expression"
in the context of realtime interactive audio/music systems (though I lack
the CS training).

I joined the list long ago out of curiosity and never felt the need to
unsubscribe due to the low traffic. I like to sift through posts
occasionally just to see what people are up to.

Morgan
http://msutherl.net

[1] http://topologicalmedialab.net

On Fri, Feb 4, 2011 at 12:28 PM, Stephen Sinclair <[email protected]>wrote:

> On Wed, Feb 2, 2011 at 6:11 PM, alex <[email protected]> wrote:
> > So, why not hit reply and introduce yourself (even if you've posted
> > already), and reveal your interest in haskell and/or art, whatever
> > that may be.  I'll do it too, but someone else go first :)
>
> My name is Steve and I'm a doctoral student at the Input Devices and
> Music Interaction Laboratory at McGill University.  Officially my work
> centers around using force-feedback devices for audio interaction.
> This involves a lot of physical modeling, robotics, DSP programming,
> etc.  However, I have a computer science background, not engineering,
> so I constantly get 'distracted' by trying to find better ways to
> express my programs :)
>
> Unofficially, I'm in love with programming language research and spend
> more time than I should reading papers about type theory etc., but I
> haven't really designed any language myself (to any significant
> extent) because it seems that any time I come up with an idea, it's
> either been proven uninteresting, or already implemented in Haskell or
> some other language!
>
> 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.
>
> My observation is that in several audio programs I've written, I
> always end up using C because that's the only way I know to write an
> audio loop that won't glitch, but then my central "mixing" routine
> grows into an uncontrollable monster because I can't split it up
> easily for various reasons. I'm hoping that getting into things like
> llvm-synthesizer or FAUST might allow me to write functional mixing
> routines that I can more easily split up into smaller functions.
> However, I find FAUST not quite expressive enough for some of the
> complex buffer juggling I've had to do in the past.
>
> Anyways, my current line of thought is that to solve this problem we
> need something like the current line of eDSLs which compile to other
> languages (Atom, Copilot, llvm-synthesizer, etc), but which can
> additionally communicate seemlessly with a non-real-time portion of
> the program written in full Haskell.  Maybe something like this
> exists?
>
> My dream would be to take a program written in a high-level language
> which consists of a real-time and non-real-time portion, and be able
> to compile it to a regular executable, and then take the same program
> and compile it against a different back-end (using not much more than
> a compiler switch) which would provide the real-time portion as a
> binary for the DSP board I am using for robotics, and the
> non-real-time portion as a host executable that would load it and
> communicate with it.
>
> Steve
> _______________________________________________
> haskell-art mailing list
> [email protected]
> http://lists.lurk.org/mailman/listinfo/haskell-art
>
_______________________________________________
haskell-art mailing list
[email protected]
http://lists.lurk.org/mailman/listinfo/haskell-art

Reply via email to