8f4e is a stack-oriented programming language with a semi-visual interface that I originally designed to perform generative music on algorave events. It's meant to be an efficient, but at the same time portable tool for real-time audio signal generation and processing. One of its most unique features is its representation of pointers using interconnected wires.
- 📝 The syntax and commands of 8f4e were inspired by assembly languages, but instead of the typical cryptic mnemonics like cndjmp, 8f4e uses more descriptive operation names such as branchIfTrue.
- 📂 The code is organized into modules, each containing variable declarations and a sequence of commands.
- ⚡ It supports real-time manual modification of variable values while the program is running, without needing recompilation.
- 📐 Variables declared sequentially in the code are allocated in adjacent memory locations.
- 🗄️ Arrays are stored in contiguous blocks, enabling straightforward and efficient iteration.
- 🛡️ All variables in 8f4e are inherently public, with no option to modify visibility. Also, it's not memory safe, pointers can point to anything within the memory space of the program, but the wires help developers to find where their pointers are pointing.
- 🧮 Runtime memory allocation is not supported in 8f4e; developers must pre-plan their software's memory needs during the coding process.
- 🔧 The language utilizes C-style pointer notations and introduces a new notation: array&that retrieves the address of the last word in an array.
- 🕒 The execution order of the code modules is determined by their dependencies. If a module's output is needed as input for others, it is executed first.