NoiseLang: Where N = 5 is a Dirac delta
a day ago
- #monte-carlo-simulation
- #probabilistic-programming
- #language-design
- NoiseLang is a probabilistic programming language where every value is a probability distribution, including constants as Dirac distributions.
- It enables operations on random variables directly, with features like independent draws and Monte Carlo simulation for queries such as probability, expectation, or variance.
- The language includes an efficient runtime with multiple backends: a columnar interpreter, a Cranelift JIT for native kernels, and WASM for browser execution, ensuring deterministic results across platforms.
- Key performance optimizations include kernel fusion, inline polynomial approximations for functions, and parallel RNG streams, achieving billions of samples per second on modern hardware.
- NoiseLang is designed for quick probability exploration, contrasting with tools like NumPy (manual simulation) or Stan/PyMC (complex Bayesian modeling), and runs in the browser with zero setup.
- The project was revived with AI assistance, highlighting AI's strength in implementation but limitations in language design innovation.