squiggle
squiggle copied to clipboard
An estimation language
Squiggle
A simple programming language for probabilistic estimation that runs on Javascript.
Get started
- Gallery
- Squiggle Playground
- Language basics
- Known bugs
- Original Lesswrong sequence
- Author your Squiggle models as Observable notebooks
- Use Squiggle in VS Code
Our deployments
- Language documentation: https://squiggle-language.com
- React components storybook: https://components.squiggle-language.com
- Squiggle Hub: https://squigglehub.org
Packages
This monorepo has several packages that can be used for various purposes. All
the packages can be found in packages.
@quri/squiggle-langinpackages/squiggle-langcontains the core language, particularly an interface to parse Squiggle expressions and return descriptions of distributions or results.@quri/squiggle-uiinpackages/uihas React components for common QURI projects.@quri/squiggle-componentsinpackages/componentscontains React components particularly meant to be used with Squiggle visualizations.packages/websiteis the main documentation website for Squiggle. It is hosted atsquiggle-language.com.packages/hubis the code behind Squiggle Hub.packages/vscode-extis the VS Code extension for writing estimation functions.packages/cliis an experimental way of using imports in Squiggle, which is also on npm.
Develop
For any project in the repo, begin by running pnpm install in the top level:
pnpm i
Then use turbo to build the specific packages or the entire monorepo:
turbo run build
Or:
cd packages/components
turbo run build
You can also run specific npm scripts for the package you're working on. See packages/*/README.md for the details.
Contributing
See CONTRIBUTING.md.