Commit Graph

42 Commits

Author SHA1 Message Date
microproofs
6c6be3f53d got past the errors and warnings 2024-02-07 12:37:37 -05:00
microproofs
51f1da2505 Removed AirStatements and AirExpressions
Still a WIP
2024-02-07 12:37:37 -05:00
microproofs
8702c736d0 fix warning 2024-02-07 12:36:35 -05:00
microproofs
806a74c192 fix all current errors 2024-02-07 12:36:35 -05:00
KtorZ
a12c374258 Start turning AirTree statements into expressions (let)
Still many places to fix, WIP.
2024-02-07 12:36:35 -05:00
microproofs
956c3d6cf0 feat: refactor code gen to avoid builtin errors when tracing is turned on 2024-01-24 16:29:40 -05:00
KtorZ
30a6b77116 Get rid of 'VoidMsg' in favor of an 'Option'. 2024-01-04 16:03:51 -05:00
microproofs
c50a9cb5bd refactor: convert msgs to use AirMsg type instead of AirTree 2024-01-04 16:03:51 -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
c7a1ff0959 refactor how tracing is popped off to be in one location in uplc_gen 2024-01-04 16:03:51 -05:00
microproofs
355e38d6e2 feat: expects now print the line of code that failed 2024-01-04 16:03:51 -05:00
microproofs
aa51ce3e3e feat: add code messages when using expects on constrs 2024-01-04 16:03:51 -05:00
microproofs
71cfb6f6af feat: Add specific messages for using expect with booleans
TODO: fill out the rest of the expects with messages
2024-01-04 16:03:51 -05:00
microproofs
8b89ba3b93 feat: implement bls primitives in code gen 2023-11-15 15:55:56 -05:00
microproofs
8a1c824dd7 chore: add specific error for when the validator returns false 2023-10-04 11:08:22 -04:00
microproofs
47596f0324 feat: Remove tuple_index and record_access in favor of faster more direct functions for
accessing an item in a tuple or a field in a record
2023-09-28 01:05:05 -04:00
microproofs
f4310bcf33 feat: finished up mutual recursion
Now we "handle" vars that call the cyclic function.
That includes vars in the cyclic function as well as in other functions
"handle" meaning we modify the var to be a call that takes in more arguments.
2023-09-25 21:16:19 -04:00
microproofs
ae3053522e feat: Update cyclic functions to be aware of being in a cycle.
Finish the creation of cyclic functions
The last part is to update vars that call into a function in the cycle
2023-09-25 21:16:19 -04:00
microproofs
ced818c455 checkpoint commit 2023-09-25 21:16:19 -04:00
microproofs
a4aa51ed2d WIP: first part of mutual recursion is done.
This involves creating the function definition and detecting cycles.
The remaining part is to "fix" the call sites
of the mutually recursive functions
2023-09-25 21:16:19 -04:00
rvcas
d808197507 chore: clippy fix 2023-09-13 18:17:59 -04:00
microproofs
084b900b2a change: traverse_with_tree now has a boolean to determine when with is called
fix: Opaque types are now properly handled in code gen (i.e. code gen functions, in datums/redeemers, in from data casts)
chore: add specific nested opaque type tests to code gen
2023-08-19 20:07:37 -04:00
microproofs
2456801b17 fix list clauses with guards and add more tests 2023-08-16 21:59:25 -04:00
microproofs
65984ed15b fix: move where we call the with in traverse_tree_with 2023-08-07 19:00:39 -04:00
Pi Lanningham
09f889b121 Add codegen for recursive statics case
We also flip the recursive_statics fields to recursive_nonstatics; This makes the codegen a little easier.  It also has a hacky way to hard code in some recursive statics for testing
2023-08-07 19:00:39 -04:00
Pi Lanningham
586a2d7972 Add recursive_static_params to AIR
Any methods to a recursive function that are unchanged and forwarded
don't need to be applied each time we recurse; instead, you can
define a containing lambda, reducing the number of applications
dramatically when recursing
2023-08-07 19:00:39 -04:00
microproofs
a45ff692a6 last changes for today 2023-08-07 12:02:44 -04:00
microproofs
3189a60bdb fixes to how we sort dependencies.
Also update dependency path based on a functions path.
2023-08-07 12:02:44 -04:00
microproofs
dcb3a9b45b some type and expect fixes 2023-08-07 12:02:44 -04:00
microproofs
960a15c4ec checkpoint - fixing tests and stuff 2023-08-07 12:02:44 -04:00
microproofs
72b6f0f847 all but six tests passing 2023-08-07 12:02:44 -04:00
microproofs
6eeb282dee Now code gen is finished and we just have testing 2023-08-07 12:02:44 -04:00
microproofs
18ea44adb0 chore: rename unwrapData and wrapData
add validator cast function for extra validator params
2023-08-07 12:02:44 -04:00
microproofs
55dd1a1a56 out with the old code and in with the air tree 2023-08-07 12:02:44 -04:00
microproofs
ba3265054c chore: move tree to gen_uplc2 and create a duplicate air file without scope 2023-08-07 12:02:44 -04:00
microproofs
7cee9a4d15 chore: move assignment_air_tree and expect_type to gen_uplc
feat: add is_primitive check to types
2023-08-07 12:02:44 -04:00
microproofs
cd726b561e feat: add removal of discard lets
chore: Name change for AirTree sequence
feat: finish up assignment  constructor and list for airtree builder
2023-08-07 12:02:44 -04:00
microproofs
59362e3d8c feat: almost done assignment have tuple and constr left
feat: modified the AirTree structure to have statements, sequences, and expressions
feat: changed the hoist_over function to be universal
2023-08-07 12:02:44 -04:00
microproofs
65bb7e48e2 feat: start on build assignment
feat: implement assignment hoisting
2023-08-07 12:02:44 -04:00
microproofs
c359bd35d7 feat: update tree to allow for let hoisting
feat: start on build for when expressions
feat: add builder methods for AirTree
2023-08-07 12:02:44 -04:00
microproofs
83ade9335f feat: implement most of airtree build 2023-08-07 12:02:44 -04:00
microproofs
5e097d42ba feat: add AirTree types and builder functions 2023-08-07 12:02:44 -04:00