Commit Graph

87 Commits

Author SHA1 Message Date
microproofs
eb37ed0da5 Clippy fix 2024-09-20 13:47:56 -04:00
microproofs
fa2aa0a3e8 When we find bls constants in UPLC convert them to their a hoisted compressed form with an uncompress call 2024-09-20 12:31:36 -04:00
KtorZ
ff4a480242 Upgrade pallas to v0.0.29, and start support for simulating transactions carrying Plutus v3 scripts. 2024-08-13 10:55:22 +02:00
microproofs
0be5229f1c Only 2 errors and todos left to finish 2024-08-08 00:39:44 -04:00
microproofs
c286ada08d clippy fix 2024-07-24 11:29:55 -04:00
microproofs
dfce9c1d96 feat: Add multivalidator as an AIR tree opcode.
feat: Add uplc eval optimization
2024-07-24 10:00:08 -04:00
microproofs
4bd9125b86 Fix delay of arguments to be exactly the same as codegen tests 2024-06-25 18:50:00 -04:00
hade
ad3c9f24b7 chore: minimal pallas dependencies 2024-05-30 15:09:05 +07:00
microproofs
3d06129d9b add test for curry optimization that is a reduced case of #945 2024-05-22 15:46:32 -04:00
microproofs
d6cc450ce4 The actual issue with #945 is that the curry builtin reducer could sometimes place fully applied builtins that could evaluate and fail above where they were actually used. This happened with builtins that were called with the same constants enough times for the curry builtin to try hoist to a higher scope. This is now fixed by detecting which builtins are safe to evaluate in advance before we hoist fully applied builtins 2024-05-22 15:22:31 -04:00
microproofs
c16bd06e97 make sure traverse_uplc_with_helper is always passing the arg to lambda before running the with function.
Breaks #945 again
2024-05-22 11:58:05 -04:00
microproofs
489eff7f5b Closes #945
Switch to depth first optimization passes instead of breadth first for inlining. Need to think more on how to do breadth first optimization passes
2024-05-21 17:12:57 -04:00
microproofs
945a3f743b feat: builtin wrapper reduction optimization 2024-04-26 19:24:04 +02:00
microproofs
21b1e29f09 chore: clippy fix 2024-03-27 16:39:52 -04:00
microproofs
94f383762c step up the optimizations a bit more by inlining a small function 2024-03-08 00:12:44 -05:00
microproofs
1edd1a1fa3 change currying to happen with 3 or more occurrences 2024-03-08 00:12:44 -05:00
microproofs
e9122de061 more identity reduce testing 2024-03-08 00:12:44 -05:00
microproofs
dabaae8ca6 more identity and inline tests 2024-03-08 00:12:44 -05:00
microproofs
97b0cf6813 reorganize shrinker tests 2024-03-08 00:12:44 -05:00
microproofs
eb709d6fc3 reorder tests to match order of functions 2024-03-08 00:12:44 -05:00
microproofs
2bc433f61e fix: need to use temp_term for counting var occurrences in identity reducer
chore: Adding more shrinker tests and fixed some of the existing ones
2024-03-05 12:08:18 -05:00
microproofs
27eb1a3e04 Change all uses of interning besides the uplc parser to use the new CodeGenInterner 2024-03-04 11:03:23 -05:00
microproofs
d971d9818b update tests and ensure identity reducer handles no_inline lambda 2024-03-04 10:52:56 -05:00
microproofs
af6c107187 remove unneeded assert 2024-03-04 10:52:56 -05:00
microproofs
06ca22c26a update inliner to handle no_inline functions 2024-03-04 10:52:56 -05:00
microproofs
4e928f39db start adding no inline flag to functions 2024-03-04 10:52:56 -05:00
microproofs
2aaa46e54c remove print 2024-03-04 10:52:56 -05:00
microproofs
c6ef37cc5c checkpoint 2024-03-04 10:52:56 -05:00
microproofs
4e0aaf970f update tests and fix final unique issues 2024-03-04 10:52:56 -05:00
microproofs
62963f7fc2 feat: finish curry optmization, improve inline optimization further, and add a subtract integer to add integer conversion 2024-03-04 10:52:56 -05:00
microproofs
7d8fdc0f22 prevent curried function hoisting if occurrences is 0 2024-03-04 10:52:56 -05:00
microproofs
258b5abf23 now currying works 2024-03-04 10:52:56 -05:00
microproofs
3b55a32583 finish up curry optimization on builtins 2024-03-04 10:52:56 -05:00
microproofs
58d586c5cf large refactor to reduce complexity 2024-03-04 10:52:56 -05:00
microproofs
8f84eb382f commit some changes so far 2024-03-04 10:52:56 -05:00
microproofs
9a52258e14 chugging along with a small refactor and some more work toward currying 2024-03-04 10:52:56 -05:00
microproofs
2f72510102 chore: Add back curry code removed in a previous commit 2024-03-04 10:52:56 -05:00
rvcas
589bb9a4b3 chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
microproofs
394cac86b8 feat: expect on a type now can take in a msg when in trace mode 2024-01-04 16:03:51 -05:00
microproofs
6a10be3e82 chore: remove redundant clone 2023-12-15 21:58:02 -05:00
microproofs
a0ec92897b chore: clean up pr 2023-12-15 21:58:02 -05:00
microproofs
2cd1379aec for now comment out curry code so the rest of the changes
can be merged to main
2023-12-15 21:58:02 -05:00
microproofs
c0c9f2f432 commit latest changes 2023-12-15 21:58:02 -05:00
microproofs
058a190294 feat: implement curried tree pruning 2023-12-15 21:58:02 -05:00
microproofs
51079b8590 fix: builtin_force_reducer wasn't handling double forces correctly 2023-12-15 21:58:02 -05:00
microproofs
4015550f55 start testing the first stage of currying builtins 2023-12-15 21:58:02 -05:00
microproofs
249581e1bc chore: continuing progress on implementing currying optimization for builtins
Introduced some new abstractions to make a different number of args easier to deal with
2023-12-15 21:58:02 -05:00
microproofs
8fdedb754e chore: continue more on curry optimizations 2023-12-15 21:58:02 -05:00
microproofs
88e21449c5 chore: comment fixes 2023-12-15 21:58:02 -05:00
microproofs
5c688b1404 Feat: refactor optimizations to use tree traversal algorithm
This makes each optimization a single function that acts on an existing tree traversal function
2023-12-15 21:58:02 -05:00