- Author
- Manu MartÃnez-Almeida (Principal Engineer at Builder.io)
- Published
- July 6, 2026
- Kind
- Personal blog post introducing a toy language, with timings and interactive demos
- Original
- manualmeida.dev/articles/noiselang/
- Subject
- Programming languages and types
What it is
Manu MartÃnez-Almeida describes NoiseLang, a language for Monte Carlo probability work. The post covers the idea, the compiler design, speed tests and demos. It also says an AI agent helped build the runtime.
What it says
- Every NoiseLang value is a probability distribution, and a plain number is a Dirac spike.
- Nothing runs until a query such as P asks for a result. Monte Carlo sampling then returns an estimate with a standard error.
- One graph feeds three code paths: an interpreter, a GPU shader and a WASM kernel.
- A GPU backend ran the example corpus 4.17 times faster than the interpreter. The author then deleted the JIT backend.
- On a 14-core M4 Pro, the author reports about 5.8 billion samples per second.
- Conditioning uses rejection, which suits a few discrete observations but not ten thousand continuous ones.
- A one-screen demo shows FM about 5 times cleaner than AM, though it models phase.
What evidence it gives
The post gives a timing table of four backends on one laptop. It reports that its random number stream passed a randomness test suite. It includes runnable demos, and it credits Hacker News readers for corrections.
Interests and limits
The author wrote and promotes the language, and calls it a toy. All timings come from one machine and were not independently repeated. The text was read in full, but the interactive figures were not run. The post says loops are not handled.