Sobre el proyecto

Vult es un lenguaje simple y potente para programar algoritmos de alto rendimiento que pueden ejecutarse en pequeños microprocesadores o microcontroladores. Está especialmente orientado al trabajo de Procesamiento de Señales Digitales (DSP), como efectos de audio y sintetizadores. El compilador Vult es un transcompilador: toma el código fuente de Vult y emite C/C++ simple que puede compilarse en cualquier plataforma con un compilador de C/C++, por ejemplo, placas Arduino o Teensy usando aritmética de punto fijo. También puede generar JavaScript para ejecución directa en el navegador, o C/C++ adecuado para compilar como externos de Pure Data. Capacidades clave descritas en el README: - Compilador de línea de comandos vultc que produce salida .h/.cpp, con los archivos de tiempo de ejecución runtime/vultin.h y runtime/vultin.cpp necesarios para el enlazado. - Aritmética de punto flotante o punto fijo (-real fixed, formato q16: 16 bits enteros, 16 bits fraccionarios), útil en procesadores sin FPU como AVR Arduinos, Teensy 3.2 y Raspberry Pi Pico. - Plantillas para objetivos que incluyen Teensy Audio Library y externos de Pure Data; repositorios de ejemplo cubren PicoADK, WebAudio, Pure Data y Teensy Audio. - Características del lenguaje como funciones que actúan como unidades de procesamiento completas, variables de estado mem por instancia, tablas de búsqueda en tiempo de compilación (@[table(...)]) e incrustación de archivos wav con o sin interpolación. - Opciones de distribución: ejecutables nativos, un vultc instalable por npm (notado como aproximadamente 4 veces más lento que el nativo), una librería de node.js (vultlib) y un script de compilador incrustado en el navegador. - Soporte de editor a través de un archivo de sintaxis para Sublime Text y una extensión para Visual Studio Code. - Compilación desde el código fuente con OCaml/Opam, make, make jscompiler y make test. El README indica que el código DSP para los módulos Vult VCV Rack y Vult Eurorack está escrito en el lenguaje Vult. Documentación, un tutorial, una referencia del lenguaje y opciones de línea de comandos están disponibles en el sitio del proyecto y la wiki.