Overview of the Power Fx language
— Read on docs.microsoft.com/en-us/power-platform/power-fx/overview
Years ago, I thought about a language I’d like to build for music based on some ideas I’d had using HMSL’s “Action Table”. Things in the language would be collections of properties, nothing more, and the values of any of the properties might depend on other properties. Properties might include things like “density”, or “scariness”, or “lightness”. Some properties might be objective things like “current time”, “last MIDI note played”, “number of people in the room”. A piece would be a network of bundles of properties.
It occurs to me that this is a bit like the mental model of a patchable synthesizer: various circuits are entities with collections of properties, properties are patched into other properties, the whole thing is “live” all the time. This is the pd/Max idea without the GUI elements.
Power FX (weird name) is a declarative, interpreted language that implements this idea. They have incorporated the standard GUI widgets, database and other business-useful entities. I wonder how hard it would be to add things that operate on physical musical entities, like MIDI, OSC, …