From 531fd06eb78a21590352ec2184f8f3de08a25bb6 Mon Sep 17 00:00:00 2001 From: Ozzie Gooen Date: Sun, 10 Apr 2022 21:48:17 -0400 Subject: [PATCH 01/42] Made playground its own page --- packages/website/docs/Playground.mdx | 7 ------- packages/website/docusaurus.config.js | 7 +------ packages/website/sidebars.js | 5 ----- packages/website/src/pages/playground.js | 20 ++++++++++++++++++++ 4 files changed, 21 insertions(+), 18 deletions(-) delete mode 100644 packages/website/docs/Playground.mdx create mode 100644 packages/website/src/pages/playground.js diff --git a/packages/website/docs/Playground.mdx b/packages/website/docs/Playground.mdx deleted file mode 100644 index 87231f4c..00000000 --- a/packages/website/docs/Playground.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -sidebar_position: 2 ---- - -import { SquigglePlayground } from "../src/components/SquigglePlayground"; - - diff --git a/packages/website/docusaurus.config.js b/packages/website/docusaurus.config.js index 0862d27b..0b3d2d04 100644 --- a/packages/website/docusaurus.config.js +++ b/packages/website/docusaurus.config.js @@ -79,12 +79,7 @@ const config = { label: "Documentation", }, { to: "/blog", label: "Blog", position: "left" }, - { - type: "doc", - docId: "Playground", - label: "Playground", - position: "left", - }, + { to: "/playground", label: "Playground", position: "left" }, { href: "https://github.com/QURIresearch/squiggle", label: "GitHub", diff --git a/packages/website/sidebars.js b/packages/website/sidebars.js index 3e6fcb7d..4685c349 100644 --- a/packages/website/sidebars.js +++ b/packages/website/sidebars.js @@ -20,11 +20,6 @@ const sidebars = { id: "Introduction", label: "Introduction", }, - { - type: "doc", - id: "Playground", - label: "Playground", - }, { type: "category", label: "Features", diff --git a/packages/website/src/pages/playground.js b/packages/website/src/pages/playground.js new file mode 100644 index 00000000..5d3a6571 --- /dev/null +++ b/packages/website/src/pages/playground.js @@ -0,0 +1,20 @@ +import React from "react"; +import Layout from "@theme/Layout"; +import { SquigglePlayground } from "../components/SquigglePlayground"; + +export default function PlaygroundPage() { + return ( + +
+

Squiggle Playground

+ +
+
+ ); +} From 1478cc71cb55816b9f493ec74b03e9f786b8599c Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 21:08:48 -0400 Subject: [PATCH 02/42] Update and rename ci.yaml to ci.yml --- .github/workflows/{ci.yaml => ci.yml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{ci.yaml => ci.yml} (95%) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yml similarity index 95% rename from .github/workflows/ci.yaml rename to .github/workflows/ci.yml index e139caeb..5f1f7236 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: name: Components build and test runs-on: ubuntu-latest needs: [pre_check] - if: ${{ needs.pre_check.outputs.should_skip_components != 'true' }} + if: ${{ needs.pre_check.outputs.should_skip_components != 'true' }} || ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash @@ -77,7 +77,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ needs.pre_check.outputs.should_skip_website != 'true' }} + if: ${{ needs.pre_check.outputs.should_skip_website != 'true' }} || ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash From 2c49d7275f5663ce06995d9f0f5248eb189a83ab Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 21:11:15 -0400 Subject: [PATCH 03/42] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bdc6c8cf..7bb77f2c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Squiggle -![Packages check](https://github.com/QURIresearch/squiggle/actions/workflows/ci.yaml/badge.svg) +![Packages check](https://github.com/QURIresearch/squiggle/actions/workflows/ci.yml/badge.svg) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-lang.svg)](https://www.npmjs.com/package/@quri/squiggle-lang) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-components.svg)](https://www.npmjs.com/package/@quri/squiggle-components) From 1c662be25dc017c8c6d1aad7236b8aaf21d05915 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 21:12:54 -0400 Subject: [PATCH 04/42] Update developer-bug.md --- .github/ISSUE_TEMPLATE/developer-bug.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/developer-bug.md b/.github/ISSUE_TEMPLATE/developer-bug.md index 5c4ccb54..c86b21c0 100644 --- a/.github/ISSUE_TEMPLATE/developer-bug.md +++ b/.github/ISSUE_TEMPLATE/developer-bug.md @@ -1,6 +1,6 @@ --- name: Developer friction when contributing to Squiggle -about: Did your yarn scripts fail? Did the CI diverge from a README? Have a testing-related task? Etc. +about: Have a testing-related task? Did your yarn scripts fail? Did the CI diverge from a README? Etc. labels: 'ops & testing' --- # Description: From 5f4daae3e30922515af41821fbe9e9e1ab62be3e Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 21:29:27 -0400 Subject: [PATCH 05/42] added netlify badge for docs --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bb77f2c..8b8347d3 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This is an experimental DSL/language for making probabilistic estimates. The ful ## Our deployments -- **website/docs prod**: https://squiggle-language.com +- **website/docs prod**: https://squiggle-language.com [![Netlify Status](https://api.netlify.com/api/v1/badges/2139af5c-671d-473d-a9f6-66c96077d8a1/deploy-status)](https://app.netlify.com/sites/squiggle-documentation/deploys) - **website/docs staging**: https://staging--squiggle-documentation.netlify.app/ - **old playground**: https://playground.squiggle-language.com From 66c91e427aa6b34125d834cb87fb6dacd49e33d3 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 21:38:48 -0400 Subject: [PATCH 06/42] Update CODEOWNERS --- .github/CODEOWNERS | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 99f465dc..cfcf8198 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -8,15 +8,19 @@ # IMPORTANT NOTE: in order to actually get pinged, commit access is required. # This also holds true for GitHub teams. -# This file -/.github/CODEOWNERS @quinn-dougherty - # Any rescript code *.res @Hazelfire @OAGr @quinn-dougherty # Any typescript code *.tsx @Hazelfire @OAGr +*.tx @Hazelfire @OAGr # Any opsy files +.github/* *.json @quinn-dougherty @Hazelfire *.y*ml @quinn-dougherty +*.config.js @Hazelfire + +# Documentation +*.md @quinn-dougherty @OAGr @Hazelfire +*.mdx @quinn-dougherty @OAGr @Hazelfire From 51e803350ecabe3dc58bc98248fd5199d821a2c5 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 21:42:13 -0400 Subject: [PATCH 07/42] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b8347d3..ba1eb1b4 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,8 @@ ![Packages check](https://github.com/QURIresearch/squiggle/actions/workflows/ci.yml/badge.svg) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-lang.svg)](https://www.npmjs.com/package/@quri/squiggle-lang) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-components.svg)](https://www.npmjs.com/package/@quri/squiggle-components) - +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/QURIresearch/squiggle/blob/staging/LICENSE) + This is an experimental DSL/language for making probabilistic estimates. The full story can be found [here](https://www.lesswrong.com/s/rDe8QE5NvXcZYzgZ3). ## Our deployments From 8bab562cbb8e9f80008295da0c35882b53930a7e Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 21:55:12 -0400 Subject: [PATCH 08/42] Update ci.yml --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f1f7236..952d29f1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -57,7 +57,7 @@ jobs: name: Components build and test runs-on: ubuntu-latest needs: [pre_check] - if: ${{ needs.pre_check.outputs.should_skip_components != 'true' }} || ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} defaults: run: shell: bash @@ -77,7 +77,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ needs.pre_check.outputs.should_skip_website != 'true' }} || ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || needs.pre_check.outputs.should_skip_components != 'true' }} defaults: run: shell: bash From 36fc47b7a683a3631fc89da3f750ff9cc1756f26 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 22:03:06 -0400 Subject: [PATCH 09/42] more netlify badges --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index ba1eb1b4..f3a89021 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,8 @@ This is an experimental DSL/language for making probabilistic estimates. The ful - **website/docs prod**: https://squiggle-language.com [![Netlify Status](https://api.netlify.com/api/v1/badges/2139af5c-671d-473d-a9f6-66c96077d8a1/deploy-status)](https://app.netlify.com/sites/squiggle-documentation/deploys) - **website/docs staging**: https://staging--squiggle-documentation.netlify.app/ +- **components storybook prod**: https://squiggle-components.netlify.app/ [![Netlify Status](https://api.netlify.com/api/v1/badges/b7f724aa-6b20-4d0e-bf86-3fcd1a3e9a70/deploy-status)](https://app.netlify.com/sites/squiggle-components/deploys) +- **components storybook staging**: https://staging--squiggle-components.netlify.app/ - **old playground**: https://playground.squiggle-language.com ## Packages From c5341b6aceb2a1b8f408bcc6d41ec49525950eb2 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 22:07:29 -0400 Subject: [PATCH 10/42] `.tx` -> `ts` --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index cfcf8198..9c4fed01 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -13,7 +13,7 @@ # Any typescript code *.tsx @Hazelfire @OAGr -*.tx @Hazelfire @OAGr +*.ts @Hazelfire @OAGr # Any opsy files .github/* From 2ee510596be97dd3cd639b3790de82b18fed6349 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 22:28:04 -0400 Subject: [PATCH 11/42] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f3a89021..70296821 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ This is an experimental DSL/language for making probabilistic estimates. The ful - **website/docs staging**: https://staging--squiggle-documentation.netlify.app/ - **components storybook prod**: https://squiggle-components.netlify.app/ [![Netlify Status](https://api.netlify.com/api/v1/badges/b7f724aa-6b20-4d0e-bf86-3fcd1a3e9a70/deploy-status)](https://app.netlify.com/sites/squiggle-components/deploys) - **components storybook staging**: https://staging--squiggle-components.netlify.app/ -- **old playground**: https://playground.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 From b12f3f0c2dc432abc4c03e28f9277898269a4a59 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sun, 10 Apr 2022 23:19:53 -0400 Subject: [PATCH 12/42] forgot to tag username in `.github/*` --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 9c4fed01..476179f7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -16,7 +16,7 @@ *.ts @Hazelfire @OAGr # Any opsy files -.github/* +.github/* @quinn-dougherty *.json @quinn-dougherty @Hazelfire *.y*ml @quinn-dougherty *.config.js @Hazelfire From e4e8e4b847a7a35d2b30eefa042502f91637e094 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Sun, 10 Apr 2022 23:42:05 -0400 Subject: [PATCH 13/42] ran `rescript format` on `ProgramEvaluator.res` --- .../src/rescript/ProgramEvaluator.res | 102 ++++++++---------- 1 file changed, 42 insertions(+), 60 deletions(-) diff --git a/packages/squiggle-lang/src/rescript/ProgramEvaluator.res b/packages/squiggle-lang/src/rescript/ProgramEvaluator.res index b2317050..96a765d8 100644 --- a/packages/squiggle-lang/src/rescript/ProgramEvaluator.res +++ b/packages/squiggle-lang/src/rescript/ProgramEvaluator.res @@ -39,17 +39,16 @@ module Inputs = { type exportDistribution = [ | #DistPlus(DistPlus.t) | #Float(float) - | #Function((float) => Belt.Result.t) + | #Function(float => Belt.Result.t) ] type exportEnv = array<(string, ASTTypes.node)> type exportType = { - environment : exportEnv, - exports: array + environment: exportEnv, + exports: array, } - module Internals = { let addVariable = ( {samplingInputs, squiggleString, environment}: Inputs.inputs, @@ -58,9 +57,7 @@ module Internals = { ): Inputs.inputs => { samplingInputs: samplingInputs, squiggleString: squiggleString, - environment: ASTTypes.Environment.update(environment, str, _ => Some( - node, - )), + environment: ASTTypes.Environment.update(environment, str, _ => Some(node)), } type outputs = { @@ -76,8 +73,7 @@ module Internals = { pointSetDistLength: inputs.samplingInputs.pointDistLength |> E.O.default(10000), } - let runNode = (inputs, node) => - AST.toLeaf(makeInputs(inputs), inputs.environment, node) + let runNode = (inputs, node) => AST.toLeaf(makeInputs(inputs), inputs.environment, node) let renderIfNeeded = (inputs: Inputs.inputs, node: ASTTypes.node): result< ASTTypes.node, @@ -106,16 +102,14 @@ module Internals = { let outputToDistPlus = (inputs: Inputs.inputs, pointSetDist: PointSetTypes.pointSetDist) => DistPlus.make(~pointSetDist, ~squiggleString=Some(inputs.squiggleString), ()) - let rec returnDist = (functionInfo : (array, ASTTypes.node), - inputs : Inputs.inputs, - env : ASTTypes.environment) => { - (input : float) => { - let foo: Inputs.inputs = {...inputs, environment: env}; - evaluateFunction( - foo, - functionInfo, - [#SymbolicDist(#Float(input))], - ) |> E.R.bind(_, a => + let rec returnDist = ( + functionInfo: (array, ASTTypes.node), + inputs: Inputs.inputs, + env: ASTTypes.environment, + ) => { + (input: float) => { + let foo: Inputs.inputs = {...inputs, environment: env} + evaluateFunction(foo, functionInfo, [#SymbolicDist(#Float(input))]) |> E.R.bind(_, a => switch a { | #DistPlus(d) => Ok(DistPlus.T.normalize(d)) | n => @@ -126,11 +120,10 @@ module Internals = { } } // TODO: Consider using ExpressionTypes.ExpressionTree.getFloat or similar in this function - and coersionToExportedTypes = ( - inputs, - env: ASTTypes.environment, - ex: ASTTypes.node, - ): result => + and coersionToExportedTypes = (inputs, env: ASTTypes.environment, ex: ASTTypes.node): result< + exportDistribution, + string, + > => ex |> renderIfNeeded(inputs) |> E.R.bind(_, x => @@ -143,56 +136,45 @@ module Internals = { } ) - and evaluateFunction = ( - inputs: Inputs.inputs, - fn: (array, ASTTypes.node), - fnInputs, - ) => { - let output = AST.runFunction( - makeInputs(inputs), - inputs.environment, - fnInputs, - fn, - ) + and evaluateFunction = (inputs: Inputs.inputs, fn: (array, ASTTypes.node), fnInputs) => { + let output = AST.runFunction(makeInputs(inputs), inputs.environment, fnInputs, fn) output |> E.R.bind(_, coersionToExportedTypes(inputs, inputs.environment)) } let runProgram = (inputs: Inputs.inputs, p: ASTTypes.program) => { let ins = ref(inputs) p - |> E.A.fmap(x => - switch x { - | #Assignment(name, node) => - ins := addVariable(ins.contents, name, node) - None - | #Expression(node) => - Some(runNode(ins.contents, node)) - } - ) - |> E.A.O.concatSomes + |> E.A.fmap(x => + switch x { + | #Assignment(name, node) => + ins := addVariable(ins.contents, name, node) + None + | #Expression(node) => Some(runNode(ins.contents, node)) + } + ) + |> E.A.O.concatSomes + |> E.A.R.firstErrorOrOpen + |> E.R.bind(_, d => + d + |> E.A.fmap(x => coersionToExportedTypes(inputs, ins.contents.environment, x)) |> E.A.R.firstErrorOrOpen - |> E.R.bind(_, d => - d - |> E.A.fmap(x => coersionToExportedTypes(inputs, ins.contents.environment, x)) - |> E.A.R.firstErrorOrOpen - ) - |> E.R.fmap(ex => - { - environment: Belt.Map.String.toArray(ins.contents.environment), - exports: ex - } - ) + ) + |> E.R.fmap(ex => { + environment: Belt.Map.String.toArray(ins.contents.environment), + exports: ex, + }) } let inputsToLeaf = (inputs: Inputs.inputs) => Parser.fromString(inputs.squiggleString) |> E.R.bind(_, g => runProgram(inputs, g)) - } - @genType -let runAll : (string, Inputs.SamplingInputs.t, exportEnv) => result = - (squiggleString, samplingInputs, environment) => { +let runAll: (string, Inputs.SamplingInputs.t, exportEnv) => result = ( + squiggleString, + samplingInputs, + environment, +) => { let inputs = Inputs.make( ~samplingInputs, ~squiggleString, From 00e98766cbe6c035196f807cf54724949cbcc65e Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:05:23 -0400 Subject: [PATCH 14/42] a rescript linter! --- packages/squiggle-lang/lint.sh | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100755 packages/squiggle-lang/lint.sh diff --git a/packages/squiggle-lang/lint.sh b/packages/squiggle-lang/lint.sh new file mode 100755 index 00000000..42faeda9 --- /dev/null +++ b/packages/squiggle-lang/lint.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# Hat tip to @dfalling +# https://forum.rescript-lang.org/t/rescript-9-1-how-can-we-format-to-standard-out/1590/2?u=quinn-dougherty + +files=`ls src/rescript/**/*.res src/rescript/*.res` +errors=false +for file in $files +do + current=`cat $file` + linted=`echo "${current}" | ./node_modules/.bin/rescript format -stdin .res` + diff=`diff <(echo $current) <(echo $linted)` + + if [ ${#diff} -gt 0 ] + then + echo "ERROR: $file doesn't pass lint" + errors=true + fi +done + +if $errors +then + exit 1 +else + echo "All files pass linting!" +fi \ No newline at end of file From 518f082c534fef526068bca2d71388808b435426 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:06:35 -0400 Subject: [PATCH 15/42] (rebase): A rescript linter! --- packages/squiggle-lang/lint.sh | 2 +- packages/squiggle-lang/package.json | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/squiggle-lang/lint.sh b/packages/squiggle-lang/lint.sh index 42faeda9..06a22b8e 100755 --- a/packages/squiggle-lang/lint.sh +++ b/packages/squiggle-lang/lint.sh @@ -8,7 +8,7 @@ errors=false for file in $files do current=`cat $file` - linted=`echo "${current}" | ./node_modules/.bin/rescript format -stdin .res` + linted=`echo "${current}" | rescript format -stdin .res` diff=`diff <(echo $current) <(echo $linted)` if [ ${#diff} -gt 0 ] diff --git a/packages/squiggle-lang/package.json b/packages/squiggle-lang/package.json index a2c93a54..ac07d185 100644 --- a/packages/squiggle-lang/package.json +++ b/packages/squiggle-lang/package.json @@ -11,6 +11,7 @@ "test": "jest", "test:watch": "jest --watchAll", "coverage": "rm -f *.coverage; yarn clean; BISECT_ENABLE=yes yarn build; yarn test; bisect-ppx-report html", + "lint": "./lint.sh", "all": "yarn build && yarn bundle && yarn test" }, "keywords": [ From 72dd99bacb7e4b30f9ea1335afeda06e9a0e596c Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:19:04 -0400 Subject: [PATCH 16/42] added lint to ci --- .github/workflows/ci.yml | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 952d29f1..f66d0c11 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,11 +33,24 @@ jobs: with: paths: '["packages/website/**"]' + lang-lint: + name: Language lint + runs-on: ubuntu-latest + needs: pre_check + if: ${{ ! needs.pre_Check.outputs.should_skip_lang }} + defaults: + run: + shell: bash + working-directory: packages/squiggle-lang + steps: + - uses: actions/checkout@v2 + - name: Check lint + run: yarn lint + lang-build-test: name: Language build and test runs-on: ubuntu-latest - needs: pre_check - if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + needs: lang-lint defaults: run: shell: bash @@ -56,8 +69,8 @@ jobs: components-build-test: name: Components build and test runs-on: ubuntu-latest - needs: [pre_check] - if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} + needs: pre_check + if: ${{ ! needs.pre_check.outputs.should_skip_components || ! needs.pre_check.outputs.should_skip_lang }} defaults: run: shell: bash @@ -77,7 +90,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || needs.pre_check.outputs.should_skip_components != 'true' }} + if: ${{ ! needs.pre_check.outputs.should_skip_website != 'true' || ! needs.pre_check.outputs.should_skip_lang != 'true' || ! needs.pre_check.outputs.should_skip_components }} defaults: run: shell: bash From 7c27c0ad7b6a63921d3d193a9dfece0967811746 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:22:28 -0400 Subject: [PATCH 17/42] typo in ci.yml --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f66d0c11..61362b2e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -90,7 +90,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ ! needs.pre_check.outputs.should_skip_website != 'true' || ! needs.pre_check.outputs.should_skip_lang != 'true' || ! needs.pre_check.outputs.should_skip_components }} + if: ${{ ! needs.pre_check.outputs.should_skip_website || ! needs.pre_check.outputs.should_skip_lang || ! needs.pre_check.outputs.should_skip_components }} defaults: run: shell: bash From d9d3f19c1369ffb438a44a1ea7fd6b191ea4aa4c Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:30:42 -0400 Subject: [PATCH 18/42] typos in ci.yml, more of them --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 61362b2e..11a153f3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: name: Language lint runs-on: ubuntu-latest needs: pre_check - if: ${{ ! needs.pre_Check.outputs.should_skip_lang }} + if: ${{ ! needs.pre_check.outputs.should_skip_lang }} defaults: run: shell: bash @@ -50,7 +50,8 @@ jobs: lang-build-test: name: Language build and test runs-on: ubuntu-latest - needs: lang-lint + needs: pre_check + if: $${{ ! needs.pre_check.outputs.should_skip_lang }} defaults: run: shell: bash From 97b73886811aba751c13584463650241dd8a7974 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:32:29 -0400 Subject: [PATCH 19/42] checking boolean expression syntax --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 11a153f3..e118d305 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: name: Language lint runs-on: ubuntu-latest needs: pre_check - if: ${{ ! needs.pre_check.outputs.should_skip_lang }} + if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash From 4e93141275a6640ed8826b0e37f009ccdcb88e38 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:37:05 -0400 Subject: [PATCH 20/42] boolean expression testing --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e118d305..79184146 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,7 @@ name: Squiggle packages check on: - push: # Delete this line if there becomes a scarcity of build minutes. + # push: # Delete this line if there becomes a scarcity of build minutes. pull_request: branches: - master @@ -37,7 +37,7 @@ jobs: name: Language lint runs-on: ubuntu-latest needs: pre_check - if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + if: ${{ !needs.pre_check.outputs.should_skip_lang }} defaults: run: shell: bash From e3c6c0ac9a2c4003203ced9da6aeeaca2eff263a Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:42:59 -0400 Subject: [PATCH 21/42] back to `not equal to true` syntax instead of `not`, :frown: --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79184146..9da7212a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: name: Language lint runs-on: ubuntu-latest needs: pre_check - if: ${{ !needs.pre_check.outputs.should_skip_lang }} + if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash @@ -51,7 +51,7 @@ jobs: name: Language build and test runs-on: ubuntu-latest needs: pre_check - if: $${{ ! needs.pre_check.outputs.should_skip_lang }} + if: $${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash @@ -71,7 +71,7 @@ jobs: name: Components build and test runs-on: ubuntu-latest needs: pre_check - if: ${{ ! needs.pre_check.outputs.should_skip_components || ! needs.pre_check.outputs.should_skip_lang }} + if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} defaults: run: shell: bash @@ -91,7 +91,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ ! needs.pre_check.outputs.should_skip_website || ! needs.pre_check.outputs.should_skip_lang || ! needs.pre_check.outputs.should_skip_components }} + if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }} defaults: run: shell: bash From 188e508f06dc8bcbe97998b4fcf08733b869f100 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:46:02 -0400 Subject: [PATCH 22/42] FOUND THE TYPO IT WAS `$` instead of `18826` lol --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9da7212a..92e10e65 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: name: Language lint runs-on: ubuntu-latest needs: pre_check - if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + if: $${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash @@ -50,8 +50,8 @@ jobs: lang-build-test: name: Language build and test runs-on: ubuntu-latest - needs: pre_check - if: $${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + needs: lang-lint + # if: $${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash From 018c5f7ca60913eba77bbcd4f6ef9b4f7059231f Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:53:02 -0400 Subject: [PATCH 23/42] one last set of choices for ci.yml --- .github/workflows/ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 92e10e65..e7a9963d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: name: Language lint runs-on: ubuntu-latest needs: pre_check - if: $${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + if: ${{ !needs.pre_check.outputs.should_skip_lang }} defaults: run: shell: bash @@ -50,8 +50,8 @@ jobs: lang-build-test: name: Language build and test runs-on: ubuntu-latest - needs: lang-lint - # if: $${{ needs.pre_check.outputs.should_skip_lang != 'true' }} + needs: pre_check + if: ${{ !needs.pre_check.outputs.should_skip_lang }} defaults: run: shell: bash @@ -71,7 +71,7 @@ jobs: name: Components build and test runs-on: ubuntu-latest needs: pre_check - if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} + if: ${{ (!needs.pre_check.outputs.should_skip_components) || (!needs.pre_check.outputs.should_skip_lang) }} defaults: run: shell: bash @@ -91,7 +91,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }} + if: ${{ (!needs.pre_check.outputs.should_skip_website) || (!needs.pre_check.outputs.should_skip_lang) || (!needs.pre_check.outputs.should_skip_components) }} defaults: run: shell: bash From efa832c7c31dde584024568f39830a2de599aa7e Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:55:08 -0400 Subject: [PATCH 24/42] should trigger website job --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e7a9963d..8d37ee4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ (!needs.pre_check.outputs.should_skip_website) || (!needs.pre_check.outputs.should_skip_lang) || (!needs.pre_check.outputs.should_skip_components) }} + if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }} defaults: run: shell: bash From 983dc1f08b41d7be1e9329a96106f16844e1fb9e Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:58:28 -0400 Subject: [PATCH 25/42] demorgan's law --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8d37ee4d..185c5d80 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -91,7 +91,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }} + if: ${{ !(needs.pre_check.outputs.should_skip_website && needs.pre_check.outputs.should_skip_lang && needs.pre_check.outputs.should_skip_components) }} defaults: run: shell: bash From 19d5fa109b492b7b3c998868e6f8c983779bd137 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 00:59:47 -0400 Subject: [PATCH 26/42] `rescript format` on `DistPlus.res` --- .../src/rescript/OldInterpreter/DistPlus.res | 155 +++++++----------- 1 file changed, 63 insertions(+), 92 deletions(-) diff --git a/packages/squiggle-lang/src/rescript/OldInterpreter/DistPlus.res b/packages/squiggle-lang/src/rescript/OldInterpreter/DistPlus.res index 2b1688b0..f3297703 100644 --- a/packages/squiggle-lang/src/rescript/OldInterpreter/DistPlus.res +++ b/packages/squiggle-lang/src/rescript/OldInterpreter/DistPlus.res @@ -1,116 +1,87 @@ -open PointSetTypes; +open PointSetTypes @genType -type t = PointSetTypes.distPlus; +type t = PointSetTypes.distPlus -let pointSetDistIntegral = pointSetDist => PointSetDist.T.Integral.get(pointSetDist); -let make = - ( - ~pointSetDist, - ~squiggleString, - (), - ) - : t => { - let integral = pointSetDistIntegral(pointSetDist); - {pointSetDist, integralCache: integral, squiggleString}; -}; +let pointSetDistIntegral = pointSetDist => PointSetDist.T.Integral.get(pointSetDist) +let make = (~pointSetDist, ~squiggleString, ()): t => { + let integral = pointSetDistIntegral(pointSetDist) + {pointSetDist: pointSetDist, integralCache: integral, squiggleString: squiggleString} +} -let update = - ( - ~pointSetDist=?, - ~integralCache=?, - ~squiggleString=?, - t: t, - ) => { +let update = (~pointSetDist=?, ~integralCache=?, ~squiggleString=?, t: t) => { pointSetDist: E.O.default(t.pointSetDist, pointSetDist), integralCache: E.O.default(t.integralCache, integralCache), squiggleString: E.O.default(t.squiggleString, squiggleString), -}; +} let updateShape = (pointSetDist, t) => { - let integralCache = pointSetDistIntegral(pointSetDist); - update(~pointSetDist, ~integralCache, t); -}; + let integralCache = pointSetDistIntegral(pointSetDist) + update(~pointSetDist, ~integralCache, t) +} -let toPointSetDist = ({pointSetDist, _}: t) => pointSetDist; +let toPointSetDist = ({pointSetDist, _}: t) => pointSetDist -let pointSetDistFn = (fn, {pointSetDist}: t) => fn(pointSetDist); +let pointSetDistFn = (fn, {pointSetDist}: t) => fn(pointSetDist) -module T = - Distributions.Dist({ - type t = PointSetTypes.distPlus; - type integral = PointSetTypes.distPlus; - let toPointSetDist = toPointSetDist; - let toContinuous = pointSetDistFn(PointSetDist.T.toContinuous); - let toDiscrete = pointSetDistFn(PointSetDist.T.toDiscrete); +module T = Distributions.Dist({ + type t = PointSetTypes.distPlus + type integral = PointSetTypes.distPlus + let toPointSetDist = toPointSetDist + let toContinuous = pointSetDistFn(PointSetDist.T.toContinuous) + let toDiscrete = pointSetDistFn(PointSetDist.T.toDiscrete) - let normalize = (t: t): t => { - let normalizedShape = t |> toPointSetDist |> PointSetDist.T.normalize; - t |> updateShape(normalizedShape); - }; + let normalize = (t: t): t => { + let normalizedShape = t |> toPointSetDist |> PointSetDist.T.normalize + t |> updateShape(normalizedShape) + } - let truncate = (leftCutoff, rightCutoff, t: t): t => { - let truncatedShape = - t - |> toPointSetDist - |> PointSetDist.T.truncate(leftCutoff, rightCutoff); + let truncate = (leftCutoff, rightCutoff, t: t): t => { + let truncatedShape = t |> toPointSetDist |> PointSetDist.T.truncate(leftCutoff, rightCutoff) - t |> updateShape(truncatedShape); - }; + t |> updateShape(truncatedShape) + } - let xToY = (f, t: t) => - t - |> toPointSetDist - |> PointSetDist.T.xToY(f); + let xToY = (f, t: t) => t |> toPointSetDist |> PointSetDist.T.xToY(f) - let minX = pointSetDistFn(PointSetDist.T.minX); - let maxX = pointSetDistFn(PointSetDist.T.maxX); - let toDiscreteProbabilityMassFraction = - pointSetDistFn(PointSetDist.T.toDiscreteProbabilityMassFraction); + let minX = pointSetDistFn(PointSetDist.T.minX) + let maxX = pointSetDistFn(PointSetDist.T.maxX) + let toDiscreteProbabilityMassFraction = pointSetDistFn( + PointSetDist.T.toDiscreteProbabilityMassFraction, + ) - // This bit is kind of awkward, could probably use rethinking. - let integral = (t: t) => - updateShape(Continuous(t.integralCache), t); + // This bit is kind of awkward, could probably use rethinking. + let integral = (t: t) => updateShape(Continuous(t.integralCache), t) - let updateIntegralCache = (integralCache: option, t) => - update(~integralCache=E.O.default(t.integralCache, integralCache), t); + let updateIntegralCache = (integralCache: option, t) => + update(~integralCache=E.O.default(t.integralCache, integralCache), t) - let downsample = (i, t): t => - updateShape(t |> toPointSetDist |> PointSetDist.T.downsample(i), t); - // todo: adjust for limit, maybe? - let mapY = - ( - ~integralSumCacheFn=previousIntegralSum => None, - ~integralCacheFn=previousIntegralCache => None, - ~fn, - {pointSetDist, _} as t: t, - ) - : t => - PointSetDist.T.mapY(~integralSumCacheFn, ~fn, pointSetDist) - |> updateShape(_, t); + let downsample = (i, t): t => updateShape(t |> toPointSetDist |> PointSetDist.T.downsample(i), t) + // todo: adjust for limit, maybe? + let mapY = ( + ~integralSumCacheFn=previousIntegralSum => None, + ~integralCacheFn=previousIntegralCache => None, + ~fn, + {pointSetDist, _} as t: t, + ): t => PointSetDist.T.mapY(~integralSumCacheFn, ~fn, pointSetDist) |> updateShape(_, t) - // get the total of everything - let integralEndY = (t: t) => { - PointSetDist.T.Integral.sum( - toPointSetDist(t), - ); - }; + // get the total of everything + let integralEndY = (t: t) => { + PointSetDist.T.Integral.sum(toPointSetDist(t)) + } - // TODO: Fix this below, obviously. Adjust for limits - let integralXtoY = (f, t: t) => { - PointSetDist.T.Integral.xToY( - f, - toPointSetDist(t), - ) - }; + // TODO: Fix this below, obviously. Adjust for limits + let integralXtoY = (f, t: t) => { + PointSetDist.T.Integral.xToY(f, toPointSetDist(t)) + } - // TODO: This part is broken when there is a limit, if this is supposed to be taken into account. - let integralYtoX = (f, t: t) => { - PointSetDist.T.Integral.yToX(f, toPointSetDist(t)); - }; + // TODO: This part is broken when there is a limit, if this is supposed to be taken into account. + let integralYtoX = (f, t: t) => { + PointSetDist.T.Integral.yToX(f, toPointSetDist(t)) + } - let mean = (t: t) => { - PointSetDist.T.mean(t.pointSetDist); - }; - let variance = (t: t) => PointSetDist.T.variance(t.pointSetDist); - }); + let mean = (t: t) => { + PointSetDist.T.mean(t.pointSetDist) + } + let variance = (t: t) => PointSetDist.T.variance(t.pointSetDist) +}) From d4b00b15c1256f11311465b8dbd47f30b7c1fb7d Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 01:05:47 -0400 Subject: [PATCH 27/42] debugging triggers again --- .github/workflows/ci.yml | 4 ++-- .../src/rescript/OldInterpreter/ASTTypes.res | 23 ++++++++++--------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 185c5d80..5c9b3a21 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,7 @@ jobs: name: Language build and test runs-on: ubuntu-latest needs: pre_check - if: ${{ !needs.pre_check.outputs.should_skip_lang }} + if: ${{ needs.pre_check.outputs.should_skip_lang != 'true'}} defaults: run: shell: bash @@ -71,7 +71,7 @@ jobs: name: Components build and test runs-on: ubuntu-latest needs: pre_check - if: ${{ (!needs.pre_check.outputs.should_skip_components) || (!needs.pre_check.outputs.should_skip_lang) }} + if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} defaults: run: shell: bash diff --git a/packages/squiggle-lang/src/rescript/OldInterpreter/ASTTypes.res b/packages/squiggle-lang/src/rescript/OldInterpreter/ASTTypes.res index 17477f8f..873eeb86 100644 --- a/packages/squiggle-lang/src/rescript/OldInterpreter/ASTTypes.res +++ b/packages/squiggle-lang/src/rescript/OldInterpreter/ASTTypes.res @@ -213,19 +213,20 @@ module SamplingDistribution = { let i1 = renderIfIsNotSamplingDistribution(evaluationParams, t1) let i2 = renderIfIsNotSamplingDistribution(evaluationParams, t2) E.R.merge(i1, i2) |> E.R.bind(_, ((a, b)) => { - let samples = getCombinationSamples( - evaluationParams.samplingInputs.sampleCount, - algebraicOp, - a, - b, - ) |> E.O.toResult("Could not get samples") + let samples = + getCombinationSamples( + evaluationParams.samplingInputs.sampleCount, + algebraicOp, + a, + b, + ) |> E.O.toResult("Could not get samples") - let sampleSetDist = samples -> E.R.bind(SampleSetDist.make) + let sampleSetDist = samples->E.R.bind(SampleSetDist.make) - let pointSetDist = - sampleSetDist - -> E.R.bind(r => - SampleSetDist.toPointSetDist(~samplingInputs=evaluationParams.samplingInputs, ~samples=r)); + let pointSetDist = + sampleSetDist->E.R.bind(r => + SampleSetDist.toPointSetDist(~samplingInputs=evaluationParams.samplingInputs, ~samples=r) + ) pointSetDist |> E.R.fmap(r => #Normalize(#RenderedDist(r))) }) } From 3689caa1fc5106c9b247738e4fd1b9d9a9f59abe Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 01:08:54 -0400 Subject: [PATCH 28/42] finally nailed the triggers! (I hope) --- .github/workflows/ci.yml | 4 +-- .../src/rescript/OldParser/Parser.res | 31 ++++++------------- 2 files changed, 11 insertions(+), 24 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5c9b3a21..67c3a37c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: name: Language lint runs-on: ubuntu-latest needs: pre_check - if: ${{ !needs.pre_check.outputs.should_skip_lang }} + if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash @@ -91,7 +91,7 @@ jobs: name: Website build runs-on: ubuntu-latest needs: pre_check - if: ${{ !(needs.pre_check.outputs.should_skip_website && needs.pre_check.outputs.should_skip_lang && needs.pre_check.outputs.should_skip_components) }} + if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }} defaults: run: shell: bash diff --git a/packages/squiggle-lang/src/rescript/OldParser/Parser.res b/packages/squiggle-lang/src/rescript/OldParser/Parser.res index 6f5fd9ef..8a5e4390 100644 --- a/packages/squiggle-lang/src/rescript/OldParser/Parser.res +++ b/packages/squiggle-lang/src/rescript/OldParser/Parser.res @@ -121,17 +121,14 @@ module MathAdtToDistDst = { | (_, _, Ok(mu), Ok(sigma)) => Ok(#FunctionCall("lognormal", [mu, sigma])) | _ => Error("Lognormal distribution needs either mean and stdev or mu and sigma") } - | _ => - parseArgs() |> E.R.fmap((args: array) => - #FunctionCall("lognormal", args) - ) + | _ => parseArgs() |> E.R.fmap((args: array) => #FunctionCall("lognormal", args)) } // Error("Dotwise exponentiation needs two operands") - let operationParser = ( - name: string, - args: result, string>, - ): result => { + let operationParser = (name: string, args: result, string>): result< + ASTTypes.node, + string, + > => { let toOkAlgebraic = r => Ok(#AlgebraicCombination(r)) let toOkPointwise = r => Ok(#PointwiseCombination(r)) let toOkTruncate = r => Ok(#Truncate(r)) @@ -169,10 +166,7 @@ module MathAdtToDistDst = { } let functionParser = ( - nodeParser: MathJsonToMathJsAdt.arg => Belt.Result.t< - ASTTypes.node, - string, - >, + nodeParser: MathJsonToMathJsAdt.arg => Belt.Result.t, name: string, args: array, ): result => { @@ -224,17 +218,11 @@ module MathAdtToDistDst = { ) Ok(hash) } - | name => - parseArgs() |> E.R.fmap((args: array) => - #FunctionCall(name, args) - ) + | name => parseArgs() |> E.R.fmap((args: array) => #FunctionCall(name, args)) } } - let rec nodeParser: MathJsonToMathJsAdt.arg => result< - ASTTypes.node, - string, - > = x => + let rec nodeParser: MathJsonToMathJsAdt.arg => result = x => switch x { | Value(f) => Ok(#SymbolicDist(#Float(f))) | Symbol(sym) => Ok(#Symbol(sym)) @@ -267,8 +255,7 @@ module MathAdtToDistDst = { blocks |> E.A.fmap(b => topLevel(b)) |> E.A.R.firstErrorOrOpen |> E.R.fmap(E.A.concatMany) } - let run = (r): result => - r |> MathAdtCleaner.run |> topLevel + let run = (r): result => r |> MathAdtCleaner.run |> topLevel } /* The MathJs parser doesn't support '.+' syntax, but we want it because it From 3f2cd652d464bf4872502ceec08a4eb332f0f760 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 01:23:09 -0400 Subject: [PATCH 29/42] path to rescript executable in lint.sh --- .github/workflows/ci.yml | 3 +-- packages/squiggle-lang/lint.sh | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 67c3a37c..0e509e5e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,6 @@ name: Squiggle packages check on: - # push: # Delete this line if there becomes a scarcity of build minutes. pull_request: branches: - master @@ -51,7 +50,7 @@ jobs: name: Language build and test runs-on: ubuntu-latest needs: pre_check - if: ${{ needs.pre_check.outputs.should_skip_lang != 'true'}} + if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} defaults: run: shell: bash diff --git a/packages/squiggle-lang/lint.sh b/packages/squiggle-lang/lint.sh index 06a22b8e..42faeda9 100755 --- a/packages/squiggle-lang/lint.sh +++ b/packages/squiggle-lang/lint.sh @@ -8,7 +8,7 @@ errors=false for file in $files do current=`cat $file` - linted=`echo "${current}" | rescript format -stdin .res` + linted=`echo "${current}" | ./node_modules/.bin/rescript format -stdin .res` diff=`diff <(echo $current) <(echo $linted)` if [ ${#diff} -gt 0 ] From 9f97213ec534e39704568fb59574142ce178b6c5 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 01:24:56 -0400 Subject: [PATCH 30/42] added deeper path in lint.sh --- packages/squiggle-lang/lint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/squiggle-lang/lint.sh b/packages/squiggle-lang/lint.sh index 42faeda9..237ea262 100755 --- a/packages/squiggle-lang/lint.sh +++ b/packages/squiggle-lang/lint.sh @@ -3,7 +3,7 @@ # Hat tip to @dfalling # https://forum.rescript-lang.org/t/rescript-9-1-how-can-we-format-to-standard-out/1590/2?u=quinn-dougherty -files=`ls src/rescript/**/*.res src/rescript/*.res` +files=`ls src/rescript/**/**/*.res src/rescript/**/*.res src/rescript/*.res` errors=false for file in $files do From 16258c25382e9b813c73ea7dd52893d8a7f54980 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 01:27:21 -0400 Subject: [PATCH 31/42] install dependencies in lint job --- .github/workflows/ci.yml | 8 +++++--- packages/squiggle-lang/lint.sh | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0e509e5e..fef815f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,11 +43,13 @@ jobs: working-directory: packages/squiggle-lang steps: - uses: actions/checkout@v2 + - name: Install Dependencies + run: yarn - name: Check lint run: yarn lint - lang-build-test: - name: Language build and test + lang-build-test-bundle: + name: Language build, test, and bundle runs-on: ubuntu-latest needs: pre_check if: ${{ needs.pre_check.outputs.should_skip_lang != 'true' }} @@ -67,7 +69,7 @@ jobs: run: yarn bundle components-build-test: - name: Components build and test + name: Components bundle and build runs-on: ubuntu-latest needs: pre_check if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} diff --git a/packages/squiggle-lang/lint.sh b/packages/squiggle-lang/lint.sh index 237ea262..892fd1bc 100755 --- a/packages/squiggle-lang/lint.sh +++ b/packages/squiggle-lang/lint.sh @@ -8,7 +8,7 @@ errors=false for file in $files do current=`cat $file` - linted=`echo "${current}" | ./node_modules/.bin/rescript format -stdin .res` + linted=`echo "${current}" | rescript format -stdin .res` diff=`diff <(echo $current) <(echo $linted)` if [ ${#diff} -gt 0 ] From af3cab01bc666fbf5674a98b1c53c45726622387 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 09:35:25 -0400 Subject: [PATCH 32/42] added `.resi` files to lint checker --- packages/squiggle-lang/lint.sh | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/squiggle-lang/lint.sh b/packages/squiggle-lang/lint.sh index 892fd1bc..071823c9 100755 --- a/packages/squiggle-lang/lint.sh +++ b/packages/squiggle-lang/lint.sh @@ -3,8 +3,9 @@ # Hat tip to @dfalling # https://forum.rescript-lang.org/t/rescript-9-1-how-can-we-format-to-standard-out/1590/2?u=quinn-dougherty -files=`ls src/rescript/**/**/*.res src/rescript/**/*.res src/rescript/*.res` errors=false + +files=`ls src/rescript/**/**/*.res src/rescript/**/*.res src/rescript/*.res` for file in $files do current=`cat $file` @@ -18,9 +19,23 @@ do fi done +files=`ls src/rescript/**/**/*.resi src/rescript/**/*.resi` # src/rescript/*/resi +for file in $files +do + current=`cat $file` + linted=`echo "${current}" | rescript format -stdin .resi` + diff=`diff <(echo $current) <(echo $linted)` + if [ ${#diff} -gt 0 ] + then + echo "ERROR: $file doesn't pass lint" + errors=true + fi +done + + if $errors then exit 1 else - echo "All files pass linting!" + echo "All files pass lint" fi \ No newline at end of file From a498ed46113cd3803ec7ff2899eaef14d802d58e Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 17:41:40 -0400 Subject: [PATCH 33/42] branch names in `*.yml` --- .github/CODEOWNERS | 8 ++++++-- .github/workflows/ci.yml | 2 ++ .github/workflows/codeql-analysis.yml | 4 ++++ packages/squiggle-lang/package.json | 1 + 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 476179f7..b7dcbd2d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -8,13 +8,17 @@ # IMPORTANT NOTE: in order to actually get pinged, commit access is required. # This also holds true for GitHub teams. -# Any rescript code +# Rescript *.res @Hazelfire @OAGr @quinn-dougherty +*.resi @Hazelfire @OAGr @quinn-dougherty -# Any typescript code +# Typescript *.tsx @Hazelfire @OAGr *.ts @Hazelfire @OAGr +# Javascript +*.js @Hazelfire + # Any opsy files .github/* @quinn-dougherty *.json @quinn-dougherty @Hazelfire diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fef815f5..417b9593 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,9 @@ on: pull_request: branches: - master + - production - staging + - develop jobs: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 67007416..0394c27d 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -15,12 +15,16 @@ on: push: branches: - master + - production - staging + - develop pull_request: # The branches below must be a subset of the branches above branches: - master + - production - staging + - develop schedule: - cron: '42 19 * * 0' diff --git a/packages/squiggle-lang/package.json b/packages/squiggle-lang/package.json index ac07d185..1c710978 100644 --- a/packages/squiggle-lang/package.json +++ b/packages/squiggle-lang/package.json @@ -12,6 +12,7 @@ "test:watch": "jest --watchAll", "coverage": "rm -f *.coverage; yarn clean; BISECT_ENABLE=yes yarn build; yarn test; bisect-ppx-report html", "lint": "./lint.sh", + "format": "rescript format -all", "all": "yarn build && yarn bundle && yarn test" }, "keywords": [ From 46651e45f552916b187f0dccbd2cdf250a67e555 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 11 Apr 2022 22:52:25 +0000 Subject: [PATCH 34/42] Bump @testing-library/react from 13.0.0 to 13.0.1 Bumps [@testing-library/react](https://github.com/testing-library/react-testing-library) from 13.0.0 to 13.0.1. - [Release notes](https://github.com/testing-library/react-testing-library/releases) - [Changelog](https://github.com/testing-library/react-testing-library/blob/main/CHANGELOG.md) - [Commits](https://github.com/testing-library/react-testing-library/compare/v13.0.0...v13.0.1) --- updated-dependencies: - dependency-name: "@testing-library/react" dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- packages/components/package.json | 2 +- yarn.lock | 32 +++++++------------------------- 2 files changed, 8 insertions(+), 26 deletions(-) diff --git a/packages/components/package.json b/packages/components/package.json index 22bf24a4..6719daf0 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -4,7 +4,7 @@ "dependencies": { "@quri/squiggle-lang": "0.2.2", "@testing-library/jest-dom": "^5.16.4", - "@testing-library/react": "^13.0.0", + "@testing-library/react": "^13.0.1", "@testing-library/user-event": "^14.0.4", "@types/jest": "^27.4.0", "@types/lodash": "^4.14.181", diff --git a/yarn.lock b/yarn.lock index 007e0c31..363bb9de 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3629,14 +3629,14 @@ lodash "^4.17.15" redent "^3.0.0" -"@testing-library/react@^13.0.0": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.0.0.tgz#8cdaf4667c6c2b082eb0513731551e9db784e8bc" - integrity sha512-p0lYA1M7uoEmk2LnCbZLGmHJHyH59sAaZVXChTXlyhV/PRW9LoIh4mdf7tiXsO8BoNG+vN8UnFJff1hbZeXv+w== +"@testing-library/react@^13.0.1": + version "13.0.1" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.0.1.tgz#00d223e182923d341a9610590561fb9dd1324110" + integrity sha512-zeHx3PohYYp+4bTJwrixQY8zSBZjWUGwYc7OhD1EpWTHS92RleApLoP72NdwaWxOrM1P1Uezt3XvGf6t2XSWPQ== dependencies: "@babel/runtime" "^7.12.5" "@testing-library/dom" "^8.5.0" - "@types/react-dom" "*" + "@types/react-dom" "^18.0.0" "@testing-library/user-event@^14.0.4": version "14.0.4" @@ -3985,7 +3985,7 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== -"@types/react-dom@*", "@types/react-dom@^18.0.0": +"@types/react-dom@^18.0.0": version "18.0.0" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.0.tgz#b13f8d098e4b0c45df4f1ed123833143b0c71141" integrity sha512-49897Y0UiCGmxZqpC8Blrf6meL8QUla6eb+BBhn69dTXlmuOlzkfr7HHY/O8J25e1lTUMs+YYxSlVDAaGHCOLg== @@ -4025,7 +4025,7 @@ dependencies: "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@^16.9.19", "@types/react@^17.0.43", "@types/react@^18.0.1": version "17.0.44" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7" integrity sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g== @@ -4034,24 +4034,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^16.9.19": - version "16.14.24" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.24.tgz#f2c5e9fa78f83f769884b83defcf7924b9eb5c82" - integrity sha512-e7U2WC8XQP/xfR7bwhOhNFZKPTfW1ph+MiqtudKb8tSV8RyCsovQx2sNVtKoOryjxFKpHPPC/yNiGfdeVM5Gyw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/react@^18.0.1": - version "18.0.1" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.1.tgz#1b2e02fb7613212518733946e49fb963dfc66e19" - integrity sha512-VnWlrVgG0dYt+NqlfMI0yUYb8Rdl4XUROyH+c6gq/iFCiZ805Vi//26UW38DHnxQkbDhnrIWTBiy6oKZqL11cw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" From a7df0bb886215b6f455360f4157ca39047f21dfd Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 18:56:24 -0400 Subject: [PATCH 35/42] prettier jobs --- .github/workflows/ci.yml | 43 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 417b9593..674f2a4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,9 +46,14 @@ jobs: steps: - uses: actions/checkout@v2 - name: Install Dependencies - run: yarn - - name: Check lint + run: cd ../../ && yarn + - name: Check rescript lint run: yarn lint + - name: Check javascript, typescript, and markdown lint + uses: creyD/prettier_action@v4.2 + with: + dry: true + prettier_options: --check . lang-build-test-bundle: name: Language build, test, and bundle @@ -70,6 +75,23 @@ jobs: - name: Run webpack run: yarn bundle + components-lint: + name: Components lint + runs-on: ubuntu-latest + needs: pre_check + if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} + defaults: + run: + shell: bash + working-directory: packages/components + steps: + - uses: actions/checkout@v2 + - name: Check javascript, typescript, and markdown lint + uses: creyD/prettier_action@v4.2 + with: + dry: true + prettier_options: --check . + components-build-test: name: Components bundle and build runs-on: ubuntu-latest @@ -90,6 +112,23 @@ jobs: - name: Build storybook run: yarn build + website-lint: + name: Website lint + runs-on: ubuntu-latest + needs: pre_check + if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }} + defaults: + run: + shell: bash + working-directory: packages/website + steps: + - uses: actions/checkout@v2 + - name: Check javascript, typescript, and markdown lint + uses: creyD/prettier_action@v4.2 + with: + dry: true + prettier_options: --check . + website-build: name: Website build runs-on: ubuntu-latest From c7908e85a8cf5da57dc7e5fa9b1a97f24bf77944 Mon Sep 17 00:00:00 2001 From: Quinn Dougherty Date: Mon, 11 Apr 2022 19:15:09 -0400 Subject: [PATCH 36/42] prettier is proper now with yarn scripts --- .github/workflows/ci.yml | 8 ++++---- package.json | 3 +++ packages/components/package.json | 5 +++-- packages/squiggle-lang/package.json | 6 ++++-- packages/website/package.json | 4 +++- yarn.lock | 20 +------------------- 6 files changed, 18 insertions(+), 28 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 674f2a4d..2ca8dc3c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,7 +48,7 @@ jobs: - name: Install Dependencies run: cd ../../ && yarn - name: Check rescript lint - run: yarn lint + run: yarn lint:rescript - name: Check javascript, typescript, and markdown lint uses: creyD/prettier_action@v4.2 with: @@ -79,7 +79,7 @@ jobs: name: Components lint runs-on: ubuntu-latest needs: pre_check - if: ${{ (needs.pre_check.outputs.should_skip_components != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') }} + if: ${{ needs.pre_check.outputs.should_skip_components != 'true' }} defaults: run: shell: bash @@ -92,7 +92,7 @@ jobs: dry: true prettier_options: --check . - components-build-test: + components-bundle-build: name: Components bundle and build runs-on: ubuntu-latest needs: pre_check @@ -116,7 +116,7 @@ jobs: name: Website lint runs-on: ubuntu-latest needs: pre_check - if: ${{ (needs.pre_check.outputs.should_skip_website != 'true') || (needs.pre_check.outputs.should_skip_lang != 'true') || (needs.pre_check.outputs.should_skip_components != 'true') }} + if: ${{ needs.pre_check.outputs.should_skip_website != 'true' }} defaults: run: shell: bash diff --git a/package.json b/package.json index a527e1fa..9601796a 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,9 @@ "scripts": { "nodeclean": "rm -r node_modules && rm -r packages/*/node_modules" }, + "devDependencies": { + "prettier": "^2.6.2" + }, "workspaces": [ "packages/*" ], diff --git a/packages/components/package.json b/packages/components/package.json index 22bf24a4..c16a42b8 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -32,7 +32,9 @@ "start": "cross-env REACT_APP_FAST_REFRESH=false && start-storybook -p 6006 -s public", "build": "tsc -b && build-storybook -s public", "bundle": "webpack", - "all": "yarn bundle && yarn build" + "all": "yarn bundle && yarn build", + "lint": "prettier --check .", + "format": "prettier --write ." }, "eslintConfig": { "extends": [ @@ -76,7 +78,6 @@ "@storybook/preset-create-react-app": "^4.1.0", "@storybook/react": "^6.4.20", "@types/webpack": "^4.41.32", - "prettier": "^2.6.2", "react-codejar": "^1.1.2", "ts-loader": "^9.2.8", "webpack": "^5.72.0", diff --git a/packages/squiggle-lang/package.json b/packages/squiggle-lang/package.json index 1c710978..044edfe3 100644 --- a/packages/squiggle-lang/package.json +++ b/packages/squiggle-lang/package.json @@ -11,8 +11,10 @@ "test": "jest", "test:watch": "jest --watchAll", "coverage": "rm -f *.coverage; yarn clean; BISECT_ENABLE=yes yarn build; yarn test; bisect-ppx-report html", - "lint": "./lint.sh", - "format": "rescript format -all", + "lint:rescript": "./lint.sh", + "lint:prettier": "prettier --check .", + "lint": "yarn lint:rescript && yarn lint:prettier", + "format": "rescript format -all && prettier --write .", "all": "yarn build && yarn bundle && yarn test" }, "keywords": [ diff --git a/packages/website/package.json b/packages/website/package.json index 8744677b..a80076bb 100644 --- a/packages/website/package.json +++ b/packages/website/package.json @@ -6,7 +6,9 @@ "start": "docusaurus start", "build": "docusaurus build", "clean": "docusaurus clear", - "all": "yarn build" + "all": "yarn build", + "lint": "prettier --check .", + "format": "prettier --write ." }, "dependencies": { "@docusaurus/core": "2.0.0-beta.18", diff --git a/yarn.lock b/yarn.lock index 007e0c31..a82fa91e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4025,7 +4025,7 @@ dependencies: "@types/react" "*" -"@types/react@*": +"@types/react@*", "@types/react@^16.9.19", "@types/react@^17.0.43", "@types/react@^18.0.1": version "17.0.44" resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.44.tgz#c3714bd34dd551ab20b8015d9d0dbec812a51ec7" integrity sha512-Ye0nlw09GeMp2Suh8qoOv0odfgCoowfM/9MG6WeRD60Gq9wS90bdkdRtYbRkNhXOpG4H+YXGvj4wOWhAC0LJ1g== @@ -4034,24 +4034,6 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@^16.9.19": - version "16.14.24" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.24.tgz#f2c5e9fa78f83f769884b83defcf7924b9eb5c82" - integrity sha512-e7U2WC8XQP/xfR7bwhOhNFZKPTfW1ph+MiqtudKb8tSV8RyCsovQx2sNVtKoOryjxFKpHPPC/yNiGfdeVM5Gyw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - -"@types/react@^18.0.1": - version "18.0.1" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.1.tgz#1b2e02fb7613212518733946e49fb963dfc66e19" - integrity sha512-VnWlrVgG0dYt+NqlfMI0yUYb8Rdl4XUROyH+c6gq/iFCiZ805Vi//26UW38DHnxQkbDhnrIWTBiy6oKZqL11cw== - dependencies: - "@types/prop-types" "*" - "@types/scheduler" "*" - csstype "^3.0.2" - "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" From 47daf55a097547a2ed746dde932c6d62f8bd5b26 Mon Sep 17 00:00:00 2001 From: Quinn Date: Mon, 11 Apr 2022 19:37:58 -0400 Subject: [PATCH 37/42] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 70296821..8bc150c4 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ # Squiggle -![Packages check](https://github.com/QURIresearch/squiggle/actions/workflows/ci.yml/badge.svg) +![Packages check](https://github.com/quantified-uncertainty/squiggle/actions/workflows/ci.yml/badge.svg) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-lang.svg)](https://www.npmjs.com/package/@quri/squiggle-lang) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-components.svg)](https://www.npmjs.com/package/@quri/squiggle-components) -[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/QURIresearch/squiggle/blob/staging/LICENSE) +[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/quantified-uncertainty/squiggle/blob/develop/LICENSE) This is an experimental DSL/language for making probabilistic estimates. The full story can be found [here](https://www.lesswrong.com/s/rDe8QE5NvXcZYzgZ3). ## Our deployments - **website/docs prod**: https://squiggle-language.com [![Netlify Status](https://api.netlify.com/api/v1/badges/2139af5c-671d-473d-a9f6-66c96077d8a1/deploy-status)](https://app.netlify.com/sites/squiggle-documentation/deploys) -- **website/docs staging**: https://staging--squiggle-documentation.netlify.app/ +- **website/docs staging**: https://develop--squiggle-documentation.netlify.app/ - **components storybook prod**: https://squiggle-components.netlify.app/ [![Netlify Status](https://api.netlify.com/api/v1/badges/b7f724aa-6b20-4d0e-bf86-3fcd1a3e9a70/deploy-status)](https://app.netlify.com/sites/squiggle-components/deploys) -- **components storybook staging**: https://staging--squiggle-components.netlify.app/ +- **components storybook staging**: https://develop--squiggle-components.netlify.app/ - **legacy (2020) playground**: https://playground.squiggle-language.com ## Packages From 4bc56f05584d050d370617ccff08ef1b7c0bcbe3 Mon Sep 17 00:00:00 2001 From: Quinn Date: Mon, 11 Apr 2022 19:39:07 -0400 Subject: [PATCH 38/42] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8bc150c4..6cb8e6b2 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Squiggle -![Packages check](https://github.com/quantified-uncertainty/squiggle/actions/workflows/ci.yml/badge.svg) +[![Packages check](https://github.com/quantified-uncertainty/squiggle/actions/workflows/ci.yml/badge.svg)](https://github.com/quantified-uncertainty/squiggle/actions/workflows/ci.yml) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-lang.svg)](https://www.npmjs.com/package/@quri/squiggle-lang) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-components.svg)](https://www.npmjs.com/package/@quri/squiggle-components) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/quantified-uncertainty/squiggle/blob/develop/LICENSE) From 8a69c54fd8e4d183f1030c5959761954a8bba834 Mon Sep 17 00:00:00 2001 From: Quinn Date: Mon, 11 Apr 2022 20:33:32 -0400 Subject: [PATCH 39/42] `coverage:ci` --- packages/squiggle-lang/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/squiggle-lang/package.json b/packages/squiggle-lang/package.json index 044edfe3..e9a109c7 100644 --- a/packages/squiggle-lang/package.json +++ b/packages/squiggle-lang/package.json @@ -11,6 +11,7 @@ "test": "jest", "test:watch": "jest --watchAll", "coverage": "rm -f *.coverage; yarn clean; BISECT_ENABLE=yes yarn build; yarn test; bisect-ppx-report html", + "coverage:ci": "yarn clean; BISECT_ENABLE=yes yarn build; yarn test; bisect-ppx-report send-to Codecov", "lint:rescript": "./lint.sh", "lint:prettier": "prettier --check .", "lint": "yarn lint:rescript && yarn lint:prettier", From 37d351eba0d403e9a9e50c0c60ab547115ffe560 Mon Sep 17 00:00:00 2001 From: Quinn Date: Mon, 11 Apr 2022 20:35:41 -0400 Subject: [PATCH 40/42] Upload coverage report --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2ca8dc3c..8363d888 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -74,6 +74,8 @@ jobs: run: yarn test - name: Run webpack run: yarn bundle + - name: Upload coverage report + run: yarn coverage:ci components-lint: name: Components lint From 527e28136186e441ca33a363bba1978fb0e35371 Mon Sep 17 00:00:00 2001 From: Quinn Date: Mon, 11 Apr 2022 20:48:07 -0400 Subject: [PATCH 41/42] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6cb8e6b2..cffb12ae 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,8 @@ [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-lang.svg)](https://www.npmjs.com/package/@quri/squiggle-lang) [![npm version](https://badge.fury.io/js/@quri%2Fsquiggle-components.svg)](https://www.npmjs.com/package/@quri/squiggle-components) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/quantified-uncertainty/squiggle/blob/develop/LICENSE) - +[![codecov](https://codecov.io/gh/quantified-uncertainty/squiggle/branch/develop/graph/badge.svg?token=QRLBL5CQ7C)](https://codecov.io/gh/quantified-uncertainty/squiggle) + This is an experimental DSL/language for making probabilistic estimates. The full story can be found [here](https://www.lesswrong.com/s/rDe8QE5NvXcZYzgZ3). ## Our deployments From 43e29e71b8d17f5fbe138d9fd1601f2254a7b8b6 Mon Sep 17 00:00:00 2001 From: Quinn Date: Mon, 11 Apr 2022 20:49:02 -0400 Subject: [PATCH 42/42] Update ci.yml --- .github/workflows/ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8363d888..2e47c178 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,6 +1,12 @@ name: Squiggle packages check on: + push: + branches: + - master + - production + - staging + - develop pull_request: branches: - master