An estimation language
https://www.squiggle-language.com/
.github | ||
examples | ||
nix | ||
packages | ||
.gitignore | ||
.prettierignore | ||
.release-please-manifest.json | ||
CHANGELOG.md | ||
CONTRIBUTING.md | ||
flake.lock | ||
flake.nix | ||
LICENSE | ||
package.json | ||
README.md | ||
release-please-config.json | ||
turbo.json | ||
yarn.lock |
Squiggle
An estimation language.
Get started
- Gallery
- Squiggle playground
- Language basics
- Squiggle functions source of truth
- Known bugs
- Original lesswrong sequence
- Author your squiggle models as Observable notebooks
- Use squiggle in VS Code
Our deployments
- website/docs prod: https://squiggle-language.com
- website/docs staging: https://preview.squiggle-language.com
- components storybook prod: https://components.squiggle-language.com
- components storybook staging: https://preview-components.squiggle-language.com
- legacy (2020) playground: https://playground.squiggle-language.com
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-components
inpackages/components
contains React components that can be passed squiggle strings as props, and return a presentation of the result of the calculation.packages/website
is the main descriptive website for squiggle, it is hosted atsquiggle-language.com
.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 yarn
in the top level
yarn
Then use turbo
to build the specific packages or the entire monorepo:
turbo run build
Or:
turbo run build --filter=@quri/squiggle-components
You can also run specific npm scripts for the package you're working on. See packages/*/README.md
for the details.
NixOS users
This repository requires the use of bundled binaries from node_modules, which are not linked statically. The easiest way to get them working is to enable nix-ld.
Contributing
See CONTRIBUTING.md
.