diff --git a/README.md b/README.md index 35eab1cc..e5d1336a 100644 --- a/README.md +++ b/README.md @@ -1,35 +1,44 @@ # Squiggle -This is an experiment DSL/language for making probabilistic estimates. +This is an experiment DSL/language for making probabilistic estimates. The full story can be found [here](https://www.lesswrong.com/s/rDe8QE5NvXcZYzgZ3). 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 +- `@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 +- `@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 +- `@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, +- `@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 package the language, and for the playground to work, you will need to package +to build and bundle the language, and for the playground to work, you will need to build and bundle the components library and the playground. # Develop -For any project in the repo, begin by running `yarn` in the top level +For any project in the repo, begin by running `yarn` in the top level (TODO: is this true?) ``` sh 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. + +``` sh +nix develop +codium +``` + +# Contributing +See `CONTRIBUTING.md`. diff --git a/flake.nix b/flake.nix index e803bae7..e75cded9 100644 --- a/flake.nix +++ b/flake.nix @@ -41,6 +41,9 @@ defaultShell = pkgs.mkShell { buildInputs = with pkgs; [ yarn + yarn2nix + npm + nodejs (pkgs.vscode-with-extensions.override { vscode = pkgs.vscodium; vscodeExtensions = pkgs.vscode-utils.extensionsFromVscodeMarketplace [ @@ -62,6 +65,24 @@ version = "4.7.20220323"; sha256 = "sha256-mjiBCyg5As/XAU9I5k6jEZWGJA3P6P5o1roe2bS7aUI="; } + { + name = "nix-ide"; + publisher = "jnoortheen"; + version = "0.1.20"; + sha256 = "sha256-Q6X41I68m0jaCXaQGEFOoAbSUrr/wFhfCH5KrduOtZo="; + } + { + name = "json"; + publisher = "ZainChen"; + version = "2.0.2"; + sha256 = "sha256-nC3Q8KuCtn/jg1j/NaAxWGvnKe/ykrPm2PUjfsJz8aI="; + } + { + name = "prettier-vscode"; + publisher = "esbenp"; + version = "9.3.0"; + sha256 = "sha256-hJgPjWf7a8+ltjmXTK8U/MwqgIZqBjmcCfHsAk2G3PA="; + } ]; }) ];