Commit Graph

420 Commits

Author SHA1 Message Date
Umur Ozkul
107bce506f generic unit support 2022-05-23 17:51:38 +02:00
Umur Ozkul
4628140069 numbers with units (tested) 2022-05-23 08:13:51 +02:00
Umur Ozkul
949b57c426 Error reporting if function arguments are defined
map(arr, toSample) now correctly reports

toSample not found

instead of

macro(Array,Symbol) not defined
2022-05-21 19:18:39 +02:00
Umur Ozkul
2265254531 Filter arguments passed to mathjs calls by type so that error messages are not too weird 2022-05-21 18:05:55 +02:00
Umur Ozkul
feb0284a89 format 2022-05-20 18:20:00 +02:00
Umur Ozkul
1557c197a0 renamed internal variables starting with $ so that they are not overriden by $ variables in Squigle 2022-05-20 17:11:32 +02:00
Umur Ozkul
870b0c9d4e hidden macros 2022-05-20 17:05:53 +02:00
Umur Ozkul
b165ccac9f floats in scientific notation and optional leading zero 2022-05-20 15:18:27 +02:00
Umur Ozkul
c1f269e9a4 fixed logical operator priority 2022-05-20 00:29:04 +02:00
Umur Ozkul
6b2e509aea pipes, binary, unary and post operators test 2022-05-19 23:35:15 +02:00
Umur Ozkul
75c913fac3 fixes #522 2022-05-19 20:45:15 +02:00
Umur Ozkul
ffedc5dbb3 multi-line tests 2022-05-19 20:38:10 +02:00
Umur Ozkul
a51e4be528 format 2022-05-19 20:25:18 +02:00
Umur Ozkul
c496ae5cdd multi-line tests 2022-05-19 18:19:09 +02:00
Umur Ozkul
638548c37b multi-line comment 2022-05-19 18:04:51 +02:00
Umur Ozkul
7ccb1d8108 multi-line tests 2022-05-19 17:59:25 +02:00
Umur Ozkul
3371c51e94 post operators test 2022-05-19 17:47:26 +02:00
Umur Ozkul
56f0c9c290 lambda tests 2022-05-19 17:40:30 +02:00
Umur Ozkul
7bfe286f42 multiplicative tests 2022-05-19 17:32:14 +02:00
Umur Ozkul
0753311b93 logical tests 2022-05-19 17:14:16 +02:00
Umur Ozkul
470a6add42 update ternary 2022-05-19 16:45:50 +02:00
Umur Ozkul
4ce1ab1172 added subtract test 2022-05-19 15:21:49 +02: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
ab88b0d012 Merged with develop 2022-05-16 20:14:29 -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
6156ae65d1 Cleanup 2022-05-15 19:42:10 -04:00
Quinn Dougherty
12c0959f38 factored mixture construction into function
Value: [1e-6 to 1e-4]
2022-05-12 11:14:59 -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
e1e5e3305d Gained precision
Value: [1e-3 to 2e-2]
2022-05-11 15:46:57 -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
Quinn Dougherty
95fe117ef0 Factored continuous part of normal and uniform kldivergence into it's
own function

Value: [1e-4 to 1e-3]
2022-05-11 14:19:45 -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
Quinn Dougherty
29c1956e88 Response to CR
Value: [1e-6 to 1e-4]
2022-05-10 14:03:42 -04:00
Quinn Dougherty
f7690c33e0 Some cleanup
Value: [1e-4 to 1e-2]
2022-05-10 11:56:13 -04: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
Ozzie Gooen
d07c3e7e81
Merge pull request #495 from quantified-uncertainty/merge-bindings
Merge bindings function
2022-05-09 14:12:24 -04:00
Quinn Dougherty
06352357a2 response to CR
Value: [1e-5 to 5e-3]
2022-05-09 11:14:33 -04:00
Sam Nolan
2860f28e32 Merge bindings function
Value: [0.0001 to 0.005]
2022-05-09 14:18:50 +00: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
bcf620337a Some Cleanup
Btw, Nuño gets a lot of credit for the last commit!

Value: [1e-2 to 8e-2]
2022-05-06 14:21:53 -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
Quinn Dougherty
fd17da83b8 Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-05 20:42:39 -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
Quinn Dougherty
32a881d06a Call Jstat for mean instead of calculate it
Value: [1e-8 to 1e-4]
2022-05-05 10:38:33 -04:00
Quinn Dougherty
dd942fe29e cleanup; CR
Value: [1e-9 to 1e-5]
2022-05-04 18:19:47 -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
Umur Ozkul
8aa4248996 spelling 2022-05-04 21:23:40 +02: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
cfa83e552d Merge remote-tracking branch 'origin/develop' into log-score-attempt 2022-05-04 13:05:40 -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
Sam Nolan
930c2d2b67 Add Gamma distribution 2022-05-04 15:53:41 +00:00
Quinn Dougherty
0baeedfb46 pointwiseSubtract test; logscale test
Value: [1e-5 to 5e-4]
2022-05-04 11:42:51 -04:00
Umur Ozkul
5de6aa8e0d map reduce reduceReverse reverse keep 2022-05-04 17:32:25 +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
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
Umur Ozkul
88428c74af cases to handle with new parser. lambdas in arrays and records 2022-05-03 00:44:38 +02:00
Quinn Dougherty
20adc4e25a describe and test strings. 2022-05-02 18:40:34 -04:00
Umur Ozkul
c5ae846df4 Note duplicate parameters 2022-05-03 00:30:41 +02:00
Quinn Dougherty
96ed0b44bb skip the bad test
Value: [1e-6 to 5e-4]
2022-05-02 18:29:47 -04:00
Umur Ozkul
78f46daed8 Note infinite recursion 2022-05-03 00:18:23 +02:00
Umur Ozkul
d26eaa2523 Note infinite recursion 2022-05-03 00:16:29 +02:00
Umur Ozkul
11d4a3bc8b do not export private modules from Reducer module 2022-05-02 23:42:11 +02:00
Umur Ozkul
490e4908e1 sam's monkeying 2022-05-02 23:18:36 +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
Umur Ozkul
f5d3da4c73 tests 2022-05-02 15:55:02 +02: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
711b230ecb Merge branch 'develop' into Umur-reducer-dev 2022-05-02 12:34:23 +02:00
Umur Ozkul
1e673e54c3 function tricks test defined (Sam's trials) 2022-05-02 12:27:07 +02:00
Umur Ozkul
087596ec43 function trics 2022-05-02 11:44:09 +02:00
Umur Ozkul
6796db82b4 note weird distribution test 2022-05-02 11:44:09 +02:00
Umur Ozkul
e262f76d98 spelling 2022-05-02 11:20:08 +02:00
Umur Ozkul
76b3adddc4 rename to exampleStatementY 2022-05-02 11:12:12 +02:00
Quinn Dougherty
ae7e5744dc Merge remote-tracking branch 'origin/develop' into fromsamples 2022-04-30 09:45:25 -04:00
Quinn Dougherty
ba0baf31c6 Fixed a (now skipped) test
[1e-5 to 1e-4]
2022-04-29 18:45:12 -04: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
b710289096 Rename parameters to imports 2022-04-29 20:29:42 +00:00
Sam Nolan
74df093a42 Cleanup TS code (and fix rescript build warning) 2022-04-29 20:10:39 +00:00
Sam Nolan
d4f929367d JS parameters in squiggle lang 2022-04-29 18:46:44 +00:00
Umur Ozkul
992dd92d9b merge develop 2022-04-29 19:10:40 +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
Sam Nolan
58a357cce5 Add basic partial test 2022-04-29 14:10:41 +00:00
Sam Nolan
454ac0c252 Add bindings to Squiggle Editor 2022-04-29 13:50:57 +00:00
Quinn
5f78399760
Merge pull request #416 from quantified-uncertainty/shape-validators
XYShape validator
2022-04-28 18:51:31 -04:00
Sam Nolan
b72e7b42c4
Merge pull request #420 from quantified-uncertainty/dictionary-view
Add Dictionary Viewer and Recursive Array viewer
2022-04-28 16:58:34 -04:00
Ozzie Gooen
94d4a38540 Refactored errors for XYShape 2022-04-28 16:49:51 -04:00
Sam Nolan
e499c1a887 Add tests for deeply nested and records 2022-04-28 20:16:31 +00:00
Ozzie Gooen
95a4bac49b Added NaN to test to make sure its caught 2022-04-28 15:01:57 -04:00
Ozzie Gooen
5dd0292b52 Added tests for XYShape validator 2022-04-28 14:52:44 -04:00
Ozzie Gooen
1cca9bde38 Merged with develop 2022-04-28 12:49:33 -04:00
Ozzie Gooen
e1551cb1d7
Merge pull request #409 from quantified-uncertainty/splidcontinuousDiscrete-refactor
Refactor of splitContinuousAndDiscrete to allow for customization
2022-04-28 11:41:06 -04:00
Ozzie Gooen
b0bfe0f748 Fixed tests 2022-04-28 08:14:07 -04:00
Ozzie Gooen
2eec389b55 Added docstrings and cleanup 2022-04-28 07:56:23 -04:00
Ozzie Gooen
335d0b5d04 Cleaned tests 2022-04-28 07:36:53 -04:00
Ozzie Gooen
5025f2d55f Refactor of splitContinuousAndDiscrete to allow for more customization 2022-04-27 18:34:37 -04:00
Umur Ozkul
7b052ee3c3 format 2022-04-27 22:24:06 +02:00
Umur Ozkul
d33f430073 Merge branch 'Umur-develop' into Umur-reducer-dev 2022-04-27 22:08:35 +02:00
Umur Ozkul
54f8b10a95 Reducer: Environment (Give environement to all function dispatches) - closes #169 2022-04-27 22:00:42 +02:00
Quinn Dougherty
7b87f64658 Issue 325
Value: [1e-3 to 3e-2]
2022-04-27 13:59:33 -04:00
Quinn Dougherty
a5c4cba2f0 Updated tests
Value: [1e-4 to 8e-3]
2022-04-27 12:54:42 -04:00
Quinn Dougherty
b8a2ecc7f0 Merge remote-tracking branch 'origin/develop' into normalize-improvements 2022-04-27 12:38:08 -04:00
Sam Nolan
350e420884 Add isNormalized to Continuous 2022-04-26 13:25:45 -04:00
Sam Nolan
e47deb8433 Translate pmf to pdf for kde 2022-04-26 12:22:31 -04:00
Ozzie Gooen
0b42604ea7 First attempt at fixing tests 2022-04-26 11:59:07 -04:00
Ozzie Gooen
d84420b1ff Merge branch 'develop' into normalize-improvements
* develop:
  hotfix: codecov stuff in `.npmignore`
  Rename flip argument to be more descriptive
  Fix pointwise not commuting for subtraction
  Fix missing paramater in test
  Rename AlgebraicShapeCombination test case
  Fixed package versions in `website/package.json`
  Refactor and rename checkOrdered
  Moved dependencies to devDependencies; updated versions
  rm react-codejar
  Mistake in #371
  Fix build issues in components
  Move dependencies to devDependencies
  Ensure xyShape is ordered by x coordinates when multiplying by negatives
  ⬆️ Bump @types/node from 17.0.25 to 17.0.26
  ⬆️ Bump antd from 4.19.5 to 4.20.0
  Turned error into actual error
  Show correct errors early on when log(distribution) has bad arguments
  Fix subtraction not commuting under pointsets
2022-04-25 21:59:45 -04:00
Ozzie Gooen
2c1aff25d3 Added basic functins to SampleSetDist 2022-04-25 21:46:40 -04:00
Ozzie Gooen
dc127a884a
Merge pull request #359 from quantified-uncertainty/log-inputs-errors
Show correct errors early on when log(distribution) has bad arguments
2022-04-25 20:50:26 -04:00
Sam Nolan
6bfecf2204 Rename flip argument to be more descriptive 2022-04-25 15:55:25 -04:00
Sam Nolan
62653d55b4 Fix pointwise not commuting for subtraction 2022-04-25 15:46:56 -04:00
Sam Nolan
aa192883e2 Fix missing paramater in test
Value: [0.001 to 0.01]
2022-04-25 15:18:18 -04:00
Sam Nolan
f58def8585 Rename AlgebraicShapeCombination test case 2022-04-25 14:52:52 -04:00
Sam Nolan
f9c02ba626 Refactor and rename checkOrdered 2022-04-25 14:50:45 -04:00
Sam Nolan
d7151907d3 Ensure xyShape is ordered by x coordinates when multiplying by negatives
Value: [0.00001 to 0.0005]
2022-04-25 11:44:50 -04:00
Umur Ozkul
d00834bbe0 fix spelling - PR#366 2022-04-25 17:42:21 +02:00
Umur Ozkul
ac8827da28 ternary with bindings (failed) 2022-04-25 17:15:28 +02:00
Umur Ozkul
cbc2b73b20 Evaluate ternary operator (tested) 2022-04-25 16:19:56 +02:00
Umur Ozkul
c810c4576d reducer semantics ternary (tested) 2022-04-25 15:30:27 +02:00
Umur Ozkul
4d801c0b10 ternary operator mathjs parse (tested) 2022-04-25 15:11:50 +02:00
Umur Ozkul
c7be293466 remove duplicate debug test case 2022-04-25 09:57:14 +02:00
Umur Ozkul
8d92941736 Merge branch 'develop' into Umur-reducer-dev 2022-04-25 09:28:53 +02:00
Umur Ozkul
e3ef08839f Function definition evaluated 2022-04-25 02:48:49 +02:00
Umur Ozkul
fe4e355fbe format 2022-04-24 18:42:54 +02:00
Ozzie Gooen
5563a5dc40 Prettier 2022-04-23 19:18:02 -04:00
Ozzie Gooen
217361b843 Tried to fix tests of math issues 2022-04-23 19:07:32 -04:00
Ozzie Gooen
51e2cf167c Turned error into actual error 2022-04-23 18:07:26 -04:00
Ozzie Gooen
1102ceb4ec Show correct errors early on when log(distribution) has bad arguments 2022-04-23 17:51:41 -04:00
Sam Nolan
ee6551a694 Prevent negative standard deviation in symbolic multiplication
Introduced in #242
2022-04-23 16:57:06 -04:00
Umur Ozkul
88b6d49ad3 function definition parse (tested) 2022-04-23 21:13:43 +02:00
Sam Nolan
dfd2f83c9d
Merge pull request #345 from quantified-uncertainty/invalid-ops
Change NaN operations to results
2022-04-23 14:51:50 -04:00
Sam Nolan
4544268429 Clean up means testing to remove some duplication 2022-04-23 14:25:08 -04:00
Sam Nolan
c7e601e15b Remove NaN from pointwise operations 2022-04-23 14:09:06 -04:00
Ozzie Gooen
21975f2c0b Fixed the linting of reducer files 2022-04-23 12:25:33 -04:00