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-lang
inpackages/squiggle-lang
contains the core language, particularly an interface to parse Squiggle expressions and return descriptions of distributions or results.@quri/squiggle-ui
inpackages/ui
has React components for common QURI projects.@quri/squiggle-components
inpackages/components
contains React components particularly meant to be used with Squiggle visualizations.packages/vscode-ext
is 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/website
is the main documentation website for Squiggle. It is hosted atsquiggle-language.com
.apps/hub
is 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 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.
See CONTRIBUTING.md
.