About this project

Vult is a simple, powerful language for programming high-performance algorithms that can run on small microprocessors or microcontrollers. It is especially aimed at Digital Signal Processing (DSP) work such as audio effects and synthesizers. The Vult compiler is a transcompiler: it takes Vult source and emits plain C/C++ that can be built on any platform with a C/C++ compiler, for example Arduino or Teensy boards using fixed-point arithmetic. It can also generate JavaScript for direct browser execution, or C/C++ suitable for compiling as Pure Data externals. Key capabilities described in the README: - Command-line compiler `vultc` producing `.h`/`.cpp` output, with runtime files `runtime/vultin.h` and `runtime/vultin.cpp` needed for linking. - Floating-point or fixed-point arithmetic (`-real fixed`, q16 format: 16 integer bits, 16 fractional bits), useful on processors without an FPU such as AVR Arduinos, Teensy 3.2 and Raspberry Pi Pico. - Templates for targets including Teensy Audio Library and Pure Data externals; example repositories cover PicoADK, WebAudio, Pure Data and Teensy Audio. - Language features such as functions acting as complete processing units, per-instance `mem` state variables, compile-time lookup tables (`@[table(...)]`) and embedding wav files with or without interpolation. - Distribution options: native executables, an npm-installed `vultc` (noted as about 4x slower than native), a node.js library (`vultlib`), and a browser-embedded compiler script. - Editor support via a Sublime Text syntax file and a Visual Studio Code extension. - Building from source with OCaml/Opam, `make`, `make jscompiler` and `make test`. The README states that DSP code for Vult VCV Rack and Vult Eurorack modules is written in the Vult language. Documentation, a tutorial, a language reference and command-line options are available on the project site and wiki.