An estimation language https://www.squiggle-language.com/
Go to file
2022-03-25 17:08:13 -04:00
.github Merge pull request #91 from QURIresearch/staging 2022-03-25 08:23:37 -04:00
packages Merge pull request #98 from QURIresearch/dependabot/npm_and_yarn/parcel-2.4.0 2022-03-25 11:33:10 -04:00
syntax second commit of spec 2022-03-25 17:08:13 -04:00
.gitignore syntax/result dir gitignored 2022-03-25 15:02:07 -04:00
.parcelrc fixed parcel (rebase: fixed MC with index.ts) 2022-03-24 11:28:45 -04:00
CONTRIBUTING.md After pair programming with @Hazelfire, still need to fix playground scripts (rebase: README and index.js) 2022-03-24 11:31:36 -04:00
flake-compat.nix Codium build almost works 2022-03-24 13:52:24 -04:00
flake.lock Codium build almost works 2022-03-24 13:52:24 -04:00
flake.nix needed nodePackages. prefix for npm 2022-03-24 14:55:27 -04:00
LICENSE Added license 2020-02-09 22:27:55 +00:00
package.json removed scripts / yarn run commands 2022-03-24 20:15:23 -04:00
README.md second commit of spec 2022-03-25 17:08:13 -04:00
yarn.lock Merge pull request #98 from QURIresearch/dependabot/npm_and_yarn/parcel-2.4.0 2022-03-25 11:33:10 -04:00

Squiggle

This is an experiment DSL/language for making probabilistic estimates. The full story can be found here.

This monorepo has several packages that can be used for various purposes. All the packages can be found in packages.

  • @quri/squiggle-lang in packages/squiggle-lang contains the core language, particularly an interface to parse squiggle expressions and return descriptions of distributions or results.
  • @quri/squiggle-components in packages/components contains React components that can be passed squiggle strings as props, and return a presentation of the result of the calculation.
  • @quri/playground in packages/playground contains a website for a playground for squiggle. This website is hosted at playground.squiggle-language.com
  • @quri/squiggle-website in packages/website The main descriptive website for squiggle, it is hosted at squiggle-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 (packages/), begin by running yarn in the top level (TODO: is this true?)

yarn

See packages/*/README.md to work with whatever project you're interested in.

codium for rescript

If you have nix installed with flakes enabled, you can build a codium in this repo for rescript development, if you don't want to pollute your machine's global editor with another mode/extension.

nix develop
codium 

The nix develop shell also provides yarn.

Alpha syntax specification

You can render a pdf of the syntax specification.

cd syntax
nix-build
o result/squiggle-spec.pdf

Where o is open if you're on OSX and xdg-open if you're on linux.

Contributing

See CONTRIBUTING.md.