NoiseLang: Where N = 5 is a Dirac delta
25 points by viraptor
25 points by viraptor
Is there something fundamental here that requires a new language and not e.g. an overloaded operator/trait implementations?
The logical capabilities are nothing that can’t be done using an embedded domain specific language. There are a large number of probabilistic programming languages but there’s also good libraries for doing probabilistic programming in Racket, on the JVM, and in Haskell. I suspect that one could get better performance using a compiler specifically tuned to optimize statistical simulations, like the author prompted, but this isn’t a trade I would make in most circumstances.
Basic probability languages/libraries aren’t hard to write; I made a TypeScript probability library last year over a couple weeks. There’s a big gap between hobbyist solutions and production-ready ones though. Different sampling methods can each break down in different ways, giving inaccurate results or becoming massively nonperformant when trying to evaluate models with specific features. An implementation that can handle anything you can throw at it requires significantly more advanced techniques. Exact Bayesian calculation, naive rejection sampling, and any simple optimizations that take less than a week for a novice to understand aren’t going to get you there.
Building the ambitious version with an agent
aw, and I was just getting interested!