An estimation language
https://www.squiggle-language.com/
db050668d1
toFunction additive multiplicative compact whitespace pow relational equality boolean whitespace separator left associative operators expression not identifier function call array constructor string indexed values ident priority block outerBlock optional final expression statement separator outerBlock innerBlock better errors note xor white space and record unary minus inner/outer block statement lambda sort lambda is a value constructor lambdaCall ternary ternary basicValue cleanup quotes chained Functions dot operators unify unary operators unify unary operatos notes notes notes notes parser priorities set white space or newline defined allow newlines notes function call has become a post operator recordElement recursive index postOperatorToFunction better integer comments notes record priority comment atom finalComment generated parser type cast format initiate test file test initiated; todo nodeCall; nodeExpression callIdentifier recover extra initiate testing initial tests pass tests pass remove function node ternary test parse passed to tests pass notes sort toExpression format notes remove unused modules remove unnecessary nodeLambdaCall notes note fix construct array comment test todo elixir pipe fix toString notes initial to expression test value test parsing records records comments ternary ifthenelse inner block passed inner block lambda lambda new parser tested now test tricks ternary in expression to test lambda as argument to test lambda in structures Use peggy Parser expectEvalError macros tested remove mathjs parse reducer test comparison operator |
||
---|---|---|
.github | ||
examples | ||
packages | ||
.gitignore | ||
.prettierignore | ||
CONTRIBUTING.md | ||
LICENSE | ||
nixos.sh | ||
package.json | ||
README.md | ||
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
Our deployments
- website/docs prod: https://squiggle-language.com
- website/docs staging: https://develop--squiggle-documentation.netlify.app/
- components storybook prod: https://squiggle-components.netlify.app/
- components storybook staging: https://develop--squiggle-components.netlify.app/
- 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
.
The playground depends on the components library which then depends on the language. This means that if you wish to work on the components library, you will need to build (no need to bundle) the language, and as of this writing playground doesn't really work.
Develop
For any project in the repo, begin by running yarn
in the top level
yarn
See packages/*/README.md
to work with whatever project you're interested in.
Contributing
See CONTRIBUTING.md
.