Hi Henning, and all,

Henning Thielemann wrote:
Hi Claude!

I guess it was you who contacted me because of my software synthesizer
Assampler back in good old Amiga days. In fact Assampler is lazy
functional programming emulated in an object oriented language. At that
time I knew about functional programming, but not much about lazy
evaluation.

It (very probably) was me, although I can't remember what I wrote - probably I asked for source code or whether it worked on AmigaOS 2.04 or something else equally annoying ;)


I wrote my own software audio synthesis environment in 1999, no fancy GUI, a horrendously awkward CLI interface, and other deficiencies. Being written in Amiga E makes it rather unportable, too, and hard to read (no operator precedence, and very strange syntax for floating point arithmetic). Maybe I should get around to uploading it somewhere anyway...

I didn't know what laziness (in the computational meaning) was at that time, and I don't know if "only recalculate filter coefficients if the filter parameters have changed" counts as lazy evaluation, given that it relied on my code explicitly setting a flag when the parameters were changed, and checking it when it wanted to use the coefficients. That was all encapsulated within an OOP-style object, though.

Looking at Assampler again, it seems like a more advanced version of what I was trying to achieve with my project. At the moment I mainly use Pd [1], which has the same paradigm as my project did (processing objects connected together with messages passing through the wires), and I guess Assampler has something similar, at least the graph at the bottom left of the screenshot [2] looks a little like a Pd patch.


And to bring this thread back to Haskell, here's a video I recorded today. Made with Pd (for audio and general programming), Gem (a Pd external for OpenGL 3D graphics), and hsext (my Pd external that allows you to use Haskell within Pd):

http://claudiusmaximus.goto10.org/files/coding/d01234/d01234-01.avi (75MB)


Claude

[1] http://puredata.info
[2] http://users.informatik.uni-halle.de/~thielema/Screenshots/Assampler.gif

--
http://claudiusmaximus.goto10.org
_______________________________________________
haskell-art mailing list
haskell-art@lists.lurk.org
http://lists.lurk.org/mailman/listinfo/haskell-art

Reply via email to