2020-11-12 20:58:09 +00:00
|
|
|
# Squiggle
|
2022-04-12 05:41:36 +00:00
|
|
|
|
2022-04-11 23:39:07 +00:00
|
|
|
[![Packages check](https://github.com/quantified-uncertainty/squiggle/actions/workflows/ci.yml/badge.svg)](https://github.com/quantified-uncertainty/squiggle/actions/workflows/ci.yml)
|
2022-04-28 23:06:39 +00:00
|
|
|
[![npm version - lang](https://badge.fury.io/js/@quri%2Fsquiggle-lang.svg)](https://www.npmjs.com/package/@quri/squiggle-lang)
|
|
|
|
[![npm version - components](https://badge.fury.io/js/@quri%2Fsquiggle-components.svg)](https://www.npmjs.com/package/@quri/squiggle-components)
|
2022-04-11 23:37:58 +00:00
|
|
|
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/quantified-uncertainty/squiggle/blob/develop/LICENSE)
|
2022-04-12 00:48:07 +00:00
|
|
|
[![codecov](https://codecov.io/gh/quantified-uncertainty/squiggle/branch/develop/graph/badge.svg?token=QRLBL5CQ7C)](https://codecov.io/gh/quantified-uncertainty/squiggle)
|
2020-02-05 21:09:27 +00:00
|
|
|
|
2022-04-28 23:06:39 +00:00
|
|
|
_An estimation language_.
|
|
|
|
|
|
|
|
## Get started
|
|
|
|
|
|
|
|
- [Gallery](https://www.squiggle-language.com/docs/Discussions/Gallery)
|
|
|
|
- [Squiggle playground](https://squiggle-language.com/playground)
|
2022-08-04 19:05:46 +00:00
|
|
|
- [Language basics](https://www.squiggle-language.com/docs/Guides/Language)
|
|
|
|
- [Squiggle functions source of truth](https://www.squiggle-language.com/docs/Guides/Functions)
|
2022-04-28 23:06:39 +00:00
|
|
|
- [Known bugs](https://www.squiggle-language.com/docs/Discussions/Bugs)
|
|
|
|
- [Original lesswrong sequence](https://www.lesswrong.com/s/rDe8QE5NvXcZYzgZ3)
|
|
|
|
- [Author your squiggle models as Observable notebooks](https://observablehq.com/@hazelfire/squiggle)
|
2022-06-20 16:01:46 +00:00
|
|
|
- [Use squiggle in VS Code](https://marketplace.visualstudio.com/items?itemName=QURI.vscode-squiggle)
|
2020-03-09 13:29:18 +00:00
|
|
|
|
2022-03-25 16:45:40 +00:00
|
|
|
## Our deployments
|
|
|
|
|
2022-10-06 22:09:30 +00:00
|
|
|
- **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
|
2022-04-12 06:45:14 +00:00
|
|
|
- **legacy (2020) playground**: https://playground.squiggle-language.com
|
2022-03-25 16:45:40 +00:00
|
|
|
|
2022-03-28 20:26:25 +00:00
|
|
|
## Packages
|
2022-04-12 05:41:36 +00:00
|
|
|
|
|
|
|
This monorepo has several packages that can be used for various purposes. All
|
2022-02-28 23:59:48 +00:00
|
|
|
the packages can be found in `packages`.
|
2020-03-09 13:29:18 +00:00
|
|
|
|
2022-03-24 18:42:27 +00:00
|
|
|
- `@quri/squiggle-lang` in `packages/squiggle-lang` contains the core language, particularly
|
2022-04-12 05:41:36 +00:00
|
|
|
an interface to parse squiggle expressions and return descriptions of distributions
|
|
|
|
or results.
|
2022-03-24 18:42:27 +00:00
|
|
|
- `@quri/squiggle-components` in `packages/components` contains React components that
|
2022-04-12 05:41:36 +00:00
|
|
|
can be passed squiggle strings as props, and return a presentation of the result
|
|
|
|
of the calculation.
|
2022-04-28 23:06:39 +00:00
|
|
|
- `packages/website` is the main descriptive website for squiggle,
|
2022-04-12 05:41:36 +00:00
|
|
|
it is hosted at `squiggle-language.com`.
|
2022-06-20 16:01:46 +00:00
|
|
|
- `packages/vscode-ext` is the VS Code extension for writing estimation functions.
|
2022-06-20 17:15:06 +00:00
|
|
|
- `packages/cli` is an experimental way of using imports in squiggle, which is also on [npm](https://www.npmjs.com/package/squiggle-cli-experimental).
|
2022-02-28 23:59:48 +00:00
|
|
|
|
2022-03-23 22:34:50 +00:00
|
|
|
# Develop
|
2022-02-28 23:59:48 +00:00
|
|
|
|
2022-04-18 06:02:47 +00:00
|
|
|
For any project in the repo, begin by running `yarn` in the top level
|
2022-04-20 17:51:27 +00:00
|
|
|
|
2022-04-12 05:41:36 +00:00
|
|
|
```sh
|
2022-03-23 22:34:50 +00:00
|
|
|
yarn
|
2022-03-23 14:39:32 +00:00
|
|
|
```
|
2022-03-23 22:34:50 +00:00
|
|
|
|
2022-10-08 14:16:54 +00:00
|
|
|
Then use `turbo` to build the specific packages or the entire monorepo:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
turbo run build
|
|
|
|
```
|
|
|
|
|
|
|
|
Or:
|
|
|
|
|
|
|
|
```sh
|
|
|
|
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.
|
2022-03-24 18:42:27 +00:00
|
|
|
|
|
|
|
# Contributing
|
2022-04-12 05:41:36 +00:00
|
|
|
|
|
|
|
See `CONTRIBUTING.md`.
|