Commit Graph

574 Commits

Author SHA1 Message Date
Umur Ozkul
c1f269e9a4 fixed logical operator priority 2022-05-20 00:29:04 +02:00
Ozzie Gooen
2c0dc75403 Split FunctionRegistry into multiple files 2022-05-19 18:24:56 -04:00
Ozzie Gooen
0b85b12551 Moved matching functionality to dedicated module 2022-05-19 18:17:31 -04:00
Ozzie Gooen
c326d0b229 More cleaning 2022-05-19 18:09:37 -04:00
Ozzie Gooen
4b07226b45 Continuing cleanup of FunctionRegistry 2022-05-19 17:04:31 -04:00
Ozzie Gooen
58f1789cfe Refactored Normal and Lognormal functions 2022-05-19 15:12:36 -04:00
Umur Ozkul
a51e4be528 format 2022-05-19 20:25:18 +02:00
Umur Ozkul
57c2fba791 "credibleIntervalToDistribution" 2022-05-19 20:20:14 +02:00
Umur Ozkul
516627629f attempt to resolve "credibleIntervalToDistribution" 2022-05-19 20:12:46 +02:00
Umur Ozkul
986e7c744b pegjs->peggy 2022-05-19 19:10:14 +02:00
Umur Ozkul
749fba2877 pr fixes 2022-05-19 19:08:40 +02:00
Umur Ozkul
c496ae5cdd multi-line tests 2022-05-19 18:19:09 +02:00
Umur Ozkul
f547db9d0a multi line problem due to block and lambda ambiguity 2022-05-19 16:35:12 +02:00
Ozzie Gooen
50a5ef2498 Touchups for FunctionRegistry distTwo 2022-05-19 09:25:34 -04:00
Umur Ozkul
7b5fd2b101 Merge branch 'develop' into reducer-dev 2022-05-19 01:28:37 +02:00
Umur Ozkul
db050668d1 parser
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
2022-05-19 01:23:43 +02:00
Ozzie Gooen
80a6c56efc Merge branch 'develop' into functionRegistry
* develop:
  ⬆️ Bump @types/node from 17.0.33 to 17.0.34
  ⬆️ Bump @babel/plugin-proposal-private-property-in-object
  Cleanup to samplesMap() code
  Cleanup and addition of toInternalSampleArray
  First simple version of samplesMap
2022-05-18 19:10:44 -04:00
Ozzie Gooen
69d962ce75 Wip, working on allowing distributions in normal 2022-05-18 19:10:34 -04:00
Ozzie Gooen
76bbfb2ef1 Added lognormal fn definitions 2022-05-18 18:42:28 -04:00
Ozzie Gooen
88ae0e25b4 Simple experiment of it working 2022-05-18 18:25:32 -04:00
Ozzie Gooen
b67c90eb06 Cleaned up FunctionRegistry to use Match type 2022-05-18 17:27:36 -04:00
Ozzie Gooen
f7f94cbcb1 First part of cleanup 2022-05-18 16:49:22 -04:00
Ozzie Gooen
c1de95b39a Added simple registry module 2022-05-18 16:22:11 -04:00
Ozzie Gooen
3085805a4d Experiment with function registry for normal distribution 2022-05-17 21:16:26 -04:00
Ozzie Gooen
f30de20c8d Refactored match() code 2022-05-17 20:45:32 -04:00
Ozzie Gooen
e0f4809ad7 Function registry first attempt 2022-05-17 18:54:31 -04:00
Ozzie Gooen
ab88b0d012 Merged with develop 2022-05-16 20:14:29 -04:00
Ozzie Gooen
eafdfdc7b7 Cleanup to samplesMap() code 2022-05-16 20:11:38 -04:00
Quinn Dougherty
9e7319ed57 More substantial CR; more named args
Value: [1e-6 to 1e-2]
2022-05-16 18:06:14 -04:00
Quinn Dougherty
1d2bb556de Minor CR comments
Value: [1e-6 to 1e-3]
2022-05-16 15:39:40 -04:00
Quinn Dougherty
81b2c74ac8 klDivergence with prior
Value: [1e-4 to 5e-23]
2022-05-16 13:18:01 -04:00
Quinn Dougherty
d00b82807c Merge remote-tracking branch 'origin/develop' into score-dist-on-scalar-resolution 2022-05-16 12:06:46 -04:00
Quinn Dougherty
3c3c88fb7b ...Resolution => ..Answer 2022-05-16 12:06:21 -04:00
Quinn Dougherty
30ab62e9b8 backed out of mutually recursive dispatch
Value: [1e-5 to 1e-3]
2022-05-16 12:03:37 -04:00
Ozzie Gooen
606f24ff24 Cleanup and addition of toInternalSampleArray 2022-05-15 21:34:36 -04:00
Ozzie Gooen
e0f505c8ea Add logistic distribution 2022-05-15 21:10:13 -04:00
Ozzie Gooen
432e5b9bca Formatted code 2022-05-15 19:42:43 -04:00
Ozzie Gooen
6156ae65d1 Cleanup 2022-05-15 19:42:10 -04:00
Ozzie Gooen
7216f8079f First attempt at adding bernoulli 2022-05-15 18:27:25 -04:00
Ozzie Gooen
15965b0b05 First simple version of samplesMap 2022-05-15 17:24:54 -04:00
Ozzie Gooen
4676026aa0 Ran formatter 2022-05-15 10:58:29 -04:00
Ozzie Gooen
47d7ef49cf Merged with master 2022-05-15 10:54:16 -04:00
Ozzie Gooen
b2b51c8f46 Added sampleN to interface 2022-05-15 10:52:35 -04:00
Quinn Dougherty
8710248a22 Merge remote-tracking branch 'origin/develop' into score-dist-on-scalar-resolution 2022-05-13 16:41:00 -04:00
Sam Nolan
95d0212ffc Remove redundant defaultEnv 2022-05-13 20:23:41 +00:00
Sam Nolan
80e05ea5be Pass environment down to GenericDist 2022-05-13 20:16:52 +00:00
Quinn Dougherty
bdbb86aa9e logScore on records now interprets almost every which way we're
interested in

Value: [1e-3 to 9e-1]
2022-05-13 16:15:04 -04:00
Quinn Dougherty
b4a1137019 Implemented correct math underlying logScoreWithPointResolution
Value: [1e-2 to 7e-1]

Realized that I need to switch argument order, put `prior` last maybe.
2022-05-13 15:43:59 -04:00
Quinn Dougherty
3eef57f855 proof of concept for records as arguments
Value: [1e-3 to 8e-1]
2022-05-13 13:18:52 -04:00
Quinn Dougherty
2ab395b4e5 Some minor CR
Value: [1e-10 to 1e-4]
2022-05-12 16:03:29 -04:00
Quinn Dougherty
65751e590a Fixed logScoreAgainstImproperPrior by finding how it was None
Value: [1e-4 to 8e-2]
2022-05-12 15:26:51 -04:00
Quinn Dougherty
51310819a1 logScore now in interface.
Value: [1e-4 to 1e-1]
2022-05-12 14:16:52 -04:00
Quinn Dougherty
978e149913 Initialized logScore and logScoreAgainstImproperPrior
Value: [1e-5 to 6e-3]
2022-05-12 13:11:51 -04:00
Quinn Dougherty
eee9a46c37 Improved comment for enrich
Value: [1e-9 to 1e-6]
2022-05-12 11:16:51 -04:00
Quinn Dougherty
f5e3701a79 Clean up for CR
Value: [1e-7 to 43-4]
2022-05-12 09:51:20 -04:00
Quinn Dougherty
26afc96495 Tests are as good as I can get them
Value: [1e-4 to 1e-2]
2022-05-11 15:12:36 -04:00
Sam Nolan
b2a972605d (rebase): Function charting 2022-05-11 14:19:36 -04:00
5c9f57a24a fix: Attain parity with previous implementation
This is achieved by not adding more points in between i
the points are already pretty close
2022-05-11 12:56:56 -04:00
599c14b32c tweak: Pass off to Quinn 2022-05-11 12:39:03 -04:00
4df4597ed3 fix: "Enrich" (add more x points) when integrating
in order to get more numerical precision.
Note: not complete yet.

Value: [1e-3 to 3e-1]
2022-05-11 12:23:36 -04:00
Quinn Dougherty
0b8da034c6 klDivergence on mixed distributions works for one test case
Value: [1e-4 to 5e-2]
2022-05-10 19:59:50 -04:00
Ozzie Gooen
3cca106079
Merge pull request #504 from quantified-uncertainty/function-charts
Function charting
2022-05-10 18:57:18 -04:00
Quinn Dougherty
b7e18b4f9d Simplified tree in squiggle-lang/src/rescript/Distributions
Value: [1e-8 to 1e-4]
2022-05-10 16:43:37 -04:00
Quinn Dougherty
465383205a Fixed lint
Value: [1e-10 to 1e-6]
2022-05-10 16:34:03 -04:00
Quinn Dougherty
216ede45b2 Fixed Bisect
Value: [1e-5 to 1e-3]
2022-05-10 16:27:34 -04:00
Quinn Dougherty
f7690c33e0 Some cleanup
Value: [1e-4 to 1e-2]
2022-05-10 11:56:13 -04:00
Sam Nolan
e058e315ad Function charting 2022-05-10 15:52:13 +00:00
Quinn Dougherty
15f1ebb429 KLDivergence on discretes is passing
Value: [1e-3 to 2e-1]
2022-05-10 11:27:59 -04:00
Quinn Dougherty
ccd55ef8f1 good evening, not working yet, but out of time for the night
Value: [1e-6 to 1e-4]
2022-05-09 19:17:27 -04:00
Quinn Dougherty
b2d80eef86 Removed negative infinity error handling
Value: [1e-5 to 1e-3]
2022-05-09 18:28:35 -04:00
Quinn Dougherty
59edd7122e wrapped error in function
Value: [1e-5 to 1e-3]
2022-05-09 15:24:46 -04:00
Quinn Dougherty
814a5f2c58 mx polymorphism
Value: [1e-3 to 2e-2]
2022-05-09 15:19:56 -04:00
Quinn Dougherty
06352357a2 response to CR
Value: [1e-5 to 5e-3]
2022-05-09 11:14:33 -04:00
Quinn Dougherty
28cb6b9c88 Final cleanup, but typescript is still borked
Value: [1e-8 to 1e-6]
2022-05-06 15:09:00 -04:00
Quinn Dougherty
722bfc6366 All three tests pass
- `uniform` `toPointSet` method has been changed for numerical
stability.

Value: [1e-1 to 1.75e0]
2022-05-06 13:58:15 -04:00
d9a40c973a feat: Get KL divergence working except in case of numerical errors ()
- Quinn was of great help here.
- I also left some dead code, which still has to be cleaned up
- There are still very annoying numerical errors, so I left one test
failing. These are due to how the interpolation is done
- Quinn to pick up from here

Value: [0.6 to 2]
2022-05-06 12:26:51 -04:00
5dd272fb0c tweak: Add tests for combineAlongSupportOfSecondArgument 2022-05-06 11:45:11 -04:00
cc3db79a2a feat: kl function but no dealing with errors yet 2022-05-06 10:49:04 -04:00
b393af8762 tweak: start building new function from scratch 2022-05-06 10:04:41 -04:00
87d6f8d4f6 fix: change integrand check order in KL divergence code 2022-05-06 09:49:42 -04:00
Quinn Dougherty
fd17da83b8 Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-05 20:42:39 -04:00
Quinn Dougherty
38d1c7aa61 Cleanup with option<(float, float, float)>
Value: [1e-5 to 1e-3]
2022-05-05 20:42:05 -04:00
Quinn Dougherty
dcf56d7bc6 combineAlongSupportOfSecondArgument implemented, tests still failing
Value: [1e-4 to 4e-2]
2022-05-05 20:02:12 -04:00
Quinn Dougherty
b49865d3aa progress on klDivergence (still working)
Value: [1e-5 to 1e-2]
2022-05-05 15:37:28 -04:00
Umur Ozkul
99f54f596c ternary operator (tested) 2022-05-04 22:36:34 +02:00
Umur Ozkul
888b615445 Merge branch 'reducer-dev-F-ifthenelse' into ternary
packages/squiggle-lang/src/rescript/Reducer/Reducer_Dispatch/Reducer_Dispatch_BuiltInMacros.res
packages/squiggle-lang/src/rescript/Reducer/Reducer_Expression/Reducer_Expression.res
packages/squiggle-lang/src/rescript/Reducer/Reducer_Expression/Reducer_Expression_Builder.res
packages/squiggle-lang/src/rescript/Reducer/Reducer_MathJs/Reducer_MathJs_ToExpression.res
2022-05-04 21:51:15 +02:00
Quinn Dougherty
6211d3cfb0 Some sorta klDivergence conclusion
Value: [1e-6 to 1e-3]
2022-05-04 14:55:49 -04:00
Umur Ozkul
85b8333a09 Merge branch 'develop' into Umur-reducer-dev 2022-05-04 20:45:48 +02:00
Umur Ozkul
ad220ed2b4 foreign function interface 2022-05-04 20:44:46 +02:00
Quinn Dougherty
898547f3a3 klDivergence is now LogarithmWithThreshold 2022-05-04 13:53:32 -04:00
Quinn Dougherty
cfa83e552d Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-04 13:05:40 -04:00
Quinn Dougherty
c95c56cfb8 Added logScaleWithThreshold(eps) and completed renaming to
`klDivergence`

Value: [1e-5 to 1e-3]
2022-05-04 13:02:58 -04:00
Ozzie Gooen
268f138dcf
Merge pull request #478 from quantified-uncertainty/reducer-dev
Reducer dev: map, reduce, reduceReverse, keep
2022-05-04 12:27:03 -04:00
Quinn Dougherty
236be470d5 Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-04 12:22:33 -04:00
Quinn Dougherty
3fcc82442d Completed renaming to KLDivergence
Value: [1e-8 to 1e-4]
2022-05-04 12:21:30 -04:00
Quinn Dougherty
683439c7e5 Changed Ok(0) to Error(NegativeInfinityError).
Value: [1e-7 to 1e-5]
2022-05-04 11:59:46 -04:00
Quinn Dougherty
32f141abdc Renamed LogScoring to KLDivergence
Value: [1e-7 to 1e-4]
2022-05-04 11:54:23 -04:00
Sam Nolan
930c2d2b67 Add Gamma distribution 2022-05-04 15:53:41 +00:00
Quinn Dougherty
627616558a Made multiplicative factor in Scoring file rather than with bind
calls

Value: [1e-5 to 7.5e-4]
2022-05-04 11:48:20 -04:00
Quinn Dougherty
f5f5be2cfb ?? build broke, had to add a ModuleName. prefix to a constructor
Value: [1e-7 to 1e-5]
2022-05-04 11:43:44 -04:00
Umur Ozkul
ea465c6047 Merge branch 'develop' into Umur-reducer-dev 2022-05-04 17:35:03 +02:00
Umur Ozkul
5de6aa8e0d map reduce reduceReverse reverse keep 2022-05-04 17:32:25 +02:00
Umur Ozkul
ae48bd6420 pass reducer to dispatch
to define functions that has lambda arguments, dispatching requires a
reducer
2022-05-04 15:33:51 +02:00
Umur Ozkul
33ee0b27d5 remove inspect performance completely
Redesign required on the function interface
2022-05-04 15:14:34 +02:00
Quinn Dougherty
d5c9705811 Corrected log score
Value: [5e-5 to 2e-2]
2022-05-03 14:00:34 -04:00
Ozzie Gooen
94a1155264 Formatted rescript 2022-05-03 11:30:00 -04:00
Ozzie Gooen
c2155ef746 Merge branch 'develop' into documentation-refactors-april
* develop: (72 commits)
  cases to handle with new parser. lambdas in arrays and records
  Note duplicate parameters
  Note infinite recursion
  Note infinite recursion
  Add array string and function viewers
  Recurse showTypes
  Pass showTypes and showControls in playground
  do not export private modules from Reducer module
  Allows hiding controls
  sam's monkeying
  fixed function f not bound
  Refactor and rename lambda in partial
  Make error message more descriptive
  Refactor and shrink effect code
  Make a tooltip to restrict users from log scales
  Add Patrial storybook and update partial bindings async
  Lint js
  Format and fix CI bugs
  Hotfix playground chart
  Real log scales
  ...
2022-05-03 11:07:12 -04:00
Ozzie Gooen
b28df258e1 Ran formatter 2022-05-03 11:06:53 -04:00
Quinn Dougherty
cec4bbd334 fixed build
Value: [1e-6 to 1e-4]
2022-05-03 10:20:01 -04:00
Quinn Dougherty
6c815a62ff Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-03 10:17:17 -04:00
Quinn Dougherty
5d6de7b487 Response to CR
Value: [1e-4 to 4e-3]
2022-05-03 10:15:48 -04:00
Quinn Dougherty
ca95c7cef8 base 2 log => natural log (on the advice of Nuno)
Value: [1e-4 to 2e-1]
2022-05-02 17:46:43 -04:00
Umur Ozkul
11d4a3bc8b do not export private modules from Reducer module 2022-05-02 23:42:11 +02:00
Quinn Dougherty
2d84805f88 Added infinity error; fixed infinities in logs
Value: [1e-3 to 3e-2]
2022-05-02 17:15:23 -04:00
Umur Ozkul
6a3b35eb4a fixed function f not bound 2022-05-02 23:12:57 +02:00
Quinn Dougherty
db3acbf96c Added extra multiplicative factor in logScore integrand
Value: [8e-2 to 7e-1]

migrated intregrand from `log(predicted / answer)` to `answer *
log(predicted / answer)`
2022-05-02 13:40:34 -04:00
Umur Ozkul
5a0b436932 No 666 2022-05-02 18:00:47 +02:00
Quinn Dougherty
d595285078 make lint happy
Value: [1e-9 to 1e-5]
2022-05-02 11:55:42 -04:00
Quinn Dougherty
e2762a0f62 Make typechecker happy
Value: [1e-7 to 1e-3]
2022-05-02 11:55:13 -04:00
Quinn Dougherty
58c885f963 Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-02 11:34:29 -04:00
Sam Nolan
0890607493 Merge branch 'reducer-dev' of github.com:quantified-uncertainty/squiggle into reducer-dev 2022-05-02 14:53:32 +00:00
Sam Nolan
946b38fa27 Fix Typescript build errors 2022-05-02 14:53:16 +00:00
Umur Ozkul
9e41f0399f RENotAFunction 2022-05-02 15:55:02 +02:00
Umur Ozkul
ba104e4dfe Catching unreduced values. This is not a lazy language 2022-05-02 15:55:02 +02:00
Umur Ozkul
c68138e5f6 arity error 2022-05-02 14:19:04 +02:00
Umur Ozkul
806ff93983 Merge branch 'Umur-reducer-dev' into reducer-dev 2022-05-02 12:35:58 +02:00
Umur Ozkul
711b230ecb Merge branch 'develop' into Umur-reducer-dev 2022-05-02 12:34:23 +02:00
Umur Ozkul
c0fad8c668 define lambdaValue record as payload 2022-05-02 12:27:07 +02:00
Ozzie Gooen
f41f6617df Merge branch 'develop' into documentation-refactors-april
* develop:
  Clean up the props, removing unused and making some optional
  lint
  hotfix: brackets in `components/README.md`
  17 increment
  hotfix: deleted `browser` field of `package.json`s
  Mixture last argument can be float
2022-05-01 15:04:04 -04:00
Ozzie Gooen
18af09ab04 Added delta function to produce delta distributions 2022-05-01 09:00:56 -04:00
Ozzie Gooen
ad16c08e9c
Merge pull request #444 from quantified-uncertainty/mixture-last-arg-fix
Mixture last argument can be float
2022-04-30 14:52:58 -04:00
Quinn Dougherty
f8f6a1ecc6 hotfix: deleted browser field of package.jsons
Value: [1e-9 to 1e-5]
2022-04-30 13:57:41 -04:00
Ozzie Gooen
fd957ef401 Mixture last argument can be float 2022-04-30 13:43:46 -04:00
Quinn
dabe76fed4
Merge pull request #443 from quantified-uncertainty/publish-script
`lang v0.2.8` and `components v0.2.16`
2022-04-30 13:03:47 -04:00
Ozzie Gooen
e8b8b6cd80
Merge pull request #425 from quantified-uncertainty/scalePower
Scale power
2022-04-30 11:55:28 -04:00
Quinn Dougherty
9fe7034c51 v0.2.8: fromSamples and jsImports 2022-04-30 11:33:03 -04:00
Quinn Dougherty
ae7e5744dc Merge remote-tracking branch 'origin/develop' into fromsamples 2022-04-30 09:45:25 -04:00
Ozzie Gooen
3249f69155 Small cleanup to fromSamples 2022-04-29 21:41:09 -04:00
Sam Nolan
83e3759342 Merge branch 'develop' into reducer-dev 2022-04-29 22:51:00 +00:00
Quinn Dougherty
8217801de3 magic numbers in bandwidth; fromSamples implementation
Value: [1e-3 to 4e-2]
2022-04-29 18:38:55 -04:00
Sam Nolan
74df093a42 Cleanup TS code (and fix rescript build warning) 2022-04-29 20:10:39 +00:00
Sam Nolan
237cdf12f9 Remove accidental log 2022-04-29 19:13:30 +00:00
Sam Nolan
d4f929367d JS parameters in squiggle lang 2022-04-29 18:46:44 +00:00
Quinn Dougherty
0e9996256e Lint for Umur
Value: [1e-8 to 1e-6]
2022-04-29 14:42:34 -04:00
Quinn Dougherty
2c452163b6 I believe I have functionality in place for new run command, but I
could be wrong. Pushing so Sam can review

Value: [1e-5 to 9e-3]
2022-04-29 14:41:30 -04:00
Umur Ozkul
bbe8eced29 format 2022-04-29 19:31:34 +02:00
Umur Ozkul
992dd92d9b merge develop 2022-04-29 19:10:40 +02:00
Umur Ozkul
3bbc5e7149 Add evaluate partial for back compatibility 2022-04-29 19:03:58 +02:00
Umur Ozkul
351381339c bug fixed
logs removed
2022-04-29 18:19:52 +02:00
Umur Ozkul
8e318a8aa9 refactor reducer
removed some extra array references

rename Builder to ExpressionBuilder

Expression Builder

Trash Warning

remove parsePartial/Outer, add context to lambda

format

module Bindings

simplify types

module Macro

reduceValueList

do macro call

result map

bindings stop replacing on macro calls

Macro Test

doBindStatement

bind a statement

bindings tested. TODO bind shadowing in lambda

block tests defined

block tests defined

blocks tested

macro lambda test defined
2022-04-29 16:40:32 +02:00