About this project
8f4e is a stack-oriented programming language and live code editor created for generative music performances at algorave events. The monorepo contains a compiler, specialized runtimes, and a browser-based visual code editor. The editor follows a REPL-style loop (edit, compile/evaluate, observe output) but is UI-driven rather than terminal-based.
## Package Architecture
The project is organized as an Nx monorepo with packages for:
- **compiler**: Core compiler transforming 8f4e code into WebAssembly, including sub-packages for language spec, project preparser, sub-program compilation (tokenizer, constant resolver, memory planner, memory reference resolver, memory default resolver, semantic reference resolver, stack analyzer, semantic utils), wasm codegen, and stdlib.
- **editor**: Editor product packages, including compiler-worker (Web Worker wrapper), editor-default (default compiler, runtime, storage, examples), editor-core (minimal reusable editor with state management, web UI using WebGL), editor-website (deployable website), and runtimes for AudioWorklet and Web Worker.
- **examples**: Example modules and projects.
- **cli**: Command-line interface for compiling 8f4e project files.
- **metrics-dashboard**: Local dashboard for release metrics.
- **config**: Shared tooling and configuration helpers.
## Development
1. Install dependencies: `npm install`
2. Build all packages: `npx nx run @8f4e/editor-website:build`
3. Start development server: `npx nx run @8f4e/editor-website:dev` (app at http://localhost:3000)
Use `npx nx graph` to explore package relationships.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.