[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
a pure side effect language
I don't know if anyone here knows about the MAX application, which is
used by musicians (there are other ports known as jMAX and PD). It is a
boxes and wires style visual language where the boxes are objects and
the wires represent message sends to the objects. The message sends are
implemented as C function calls passing a list of tagged argument
The interesting thing about this language is that is probably as far
from functional as you can get. It is a pure side effect language. The
function calls do not return a value. Therefore it can only do anything
by mutating an object or causing i/o. There are no variables per se,
but there are objects in which you can store a value by sending it a
message, and get the stored value out by sending a message.
The diagrams (called "patches") in MAX quickly become hard to decipher,
but the box and wires paradigm is very fast for new users to pick up.
Though IMO there is a low ceiling for what you can write directly "in
the language". Most power users eventually write their own C plug-in
objects for it to do something complex.
This language has thousands of users.
--- james mccartney