A simple programming language for probabilistic estimation that runs on Javascript.
- Gallery
- Squiggle Playground
- Language basics
- Known bugs
- Original Lesswrong sequence
- Author your Squiggle models as Observable notebooks
- Use Squiggle in VS Code
- Language documentation: https://squiggle-language.com
- React components storybook: https://components.squiggle-language.com
- Squiggle Hub: https://squigglehub.org
This monorepo has several packages that can be used for various purposes.
All packages that are published to npm 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/vscode-extis the VS Code extension for writing estimation functions. It's not published to npm, but it's published to the VS Code Marketplace.
Applications (usually built with Next.js) can be found in apps.
apps/websiteis the main documentation website for Squiggle. It is hosted atsquiggle-language.com.apps/hubis the code behind Squiggle Hub.
Internal packages (not published to npm) can be found in internal-packages.
For any project in the repo, begin by running pnpm install in the top level:
pnpm iThen use turbo to build the specific packages or the entire monorepo:
turbo run buildOr:
cd packages/components
turbo run buildYou can also run specific npm scripts for the package you're working on. See packages/*/README.md for the details.
See CONTRIBUTING.md.