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-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/website
is the main documentation website for Squiggle. It is hosted atsquiggle-language.com
. -
packages/hub
is the code behind Squiggle Hub. -
packages/vscode-ext
is the VS Code extension for writing estimation functions. -
packages/cli
is 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
.