Max

What it is

Two externals, max.o.se and max.o.se.gui, and a couple of dozen Max objects written in the language itself and kept in code/: o.route, o.pack, o.collect, o.if, o.var, the set operations, and the rest. An object is a program, so it can be read, changed and reloaded without a compiler.

Get it running

Needs Xcode and the Max SDK, which is vendored as source/max-sdk-base.

In the workspace:

make -C hosts/max.o.se/source

As a standalone clone:

git clone --recursive https://github.com/asomadev/max.o.se
cd max.o.se/source
make            # modules, externals, then copies the .so files into ../misc

The default target copies the built modules into max.o.se/misc; it does not touch a Max installation. Source and releases: github.com/asomadev/max.o.se.

First program

Open help/o.se.maxhelp in Max. It puts an [o.se] object in a patch, sends it a message of instructions, and shows a bang making the object answer with the time. An [o.se] object takes instructions as messages, last to first; an object named o.se.o.<name> loads <name>.ose from the search path when it is created.

What it adds

Into the host register, as /o/ verbs a program calls like the language’s own:

And as instructions: /makeinlet, /makeoutlet, /outlet, /outlet/left, /outletatoms, /post, /maxobj, and a second kind of inlet and outlet for machines (/makeinlet/machine, /makeoutlet/machine, /outlet/machine).