Об этом проекте

Vult — это простой и мощный язык для программирования высокопроизводительных алгоритмов, которые могут работать на небольших микропроцессорах или микроконтроллерах. Он особенно ориентирован на цифровую обработку сигналов (DSP), такую как аудиоэффекты и синтезаторы. Компилятор Vult является транспилятором: он принимает исходный код на Vult и генерирует обычный C/C++, который можно собрать на любой платформе с компилятором C/C++, например, на платах Arduino или Teensy с использованием арифметики с фиксированной точкой. Он также может генерировать JavaScript для непосредственного выполнения в браузере или C/C++, пригодный для компиляции в качестве внешних модулей Pure Data. Ключевые возможности, описанные в README: - Компилятор командной строки `vultc`, создающий выходные файлы `.h`/`.cpp`, с файлами времени выполнения `runtime/vultin.h` и `runtime/vultin.cpp`, необходимыми для компоновки. - Арифметика с плавающей или фиксированной точкой (`-real fixed`, формат q16: 16 целых бит, 16 дробных бит), полезная на процессорах без FPU, таких как AVR Arduino, Teensy 3.2 и Raspberry Pi Pico. - Шаблоны для целевых платформ, включая Teensy Audio Library и внешние модули Pure Data; примеры репозиториев охватывают PicoADK, WebAudio, Pure Data и Teensy Audio. - Возможности языка, такие как функции, действующие как полные блоки обработки, переменные состояния `mem` для каждого экземпляра, таблицы поиска времени компиляции (`@[table(...)]`) и встраивание wav-файлов с интерполяцией или без нее. - Варианты распространения: нативные исполняемые файлы, `vultc`, устанавливаемый через npm (отмечено, что примерно в 4 раза медленнее нативного), библиотека node.js (`vultlib`) и скрипт компилятора, встраиваемый в браузер. - Поддержка редакторов через файл синтаксиса Sublime Text и расширение Visual Studio Code. - Сборка из исходного кода с помощью OCaml/Opam, `make`, `make jscompiler` и `make test`. В README указано, что DSP-код для модулей Vult VCV Rack и Vult Eurorack написан на языке Vult. Документация, учебное пособие, справочник по языку и параметры командной строки доступны на сайте проекта и в вики.