Squiggle is still young. The main first goal is to become stable (to reach version 1.0). Right now we think it is useable to use for small projects, but do note that there are very likely some math bugs and performance problems.
If you have preferences or suggestions for our roadmap, please say so! Post your thoughts in the Github discussion or in the Discord.
Note that our short-term roadmap changes frequently, and is not captured here.
- A simple type system
- Optional and default paramaters for functions
- Much better code editor integration
There are many important distribution types that Squiggle doesn't yet support. Some key functions we'd like include:
Metalog Distribution (opens in a new tab)
Takes a distribution and smoothens it. For example, Elicit Forecast (opens in a new tab) does something like this, with uniform distributions.
An interface to interpret & score Squiggle files
My guess is that there should eventually be some way for people to declare that some of their Squiggle values are meant to be formally declared, to be scored and similar by others. Then other programs can read these files, and either use the values, or score them.
Of course, we'd also need good math for how the scoring should work, exactly.
This interface should also be able to handle changing Squiggle values. This is because people would be likely to want to update their functions over time, and that should be taken into account for scoring.
Importance & quality scores
Workflows/functionality to declare the importance and coveredness of each part of the paramater space. For example, some subsets of the paramater space of a function might be much more important to get right than others. Similarly, the analyst might be much more certain about some parts than others. Ideally. they could decline sections.
Static / sensitivity analysis
Guesstimate has Sensitivity analysis that's pretty useful. This could be quite feasible to add, though it will likely require some thinking.
Right now, Monte Carlo simulations are totally random. It would be nicer to be able to enter a seed somehow in order to control the randomness. Or, with the same seed, the function should always return the same values. This would make debugging and similar easier.
There are many performance improvements that Squiggle could have. We'll get to some of them eventually.