microproofs
f1cfc84e67
Fix tree traversal node selection for a few of the enum variants
2024-06-25 18:50:00 -04:00
microproofs
4bd9125b86
Fix delay of arguments to be exactly the same as codegen tests
2024-06-25 18:50:00 -04:00
microproofs
f695276bf7
Fix codegen tree traversal to be updated for the otherwise field and future proof the traversal function
2024-06-25 18:50:00 -04:00
microproofs
41b941e0e3
Fix castfromData in record access cases
2024-06-25 18:50:00 -04:00
microproofs
df939e20ce
missed a Air Op Code and updated how we pass in otherwise for assignment
2024-06-25 18:50:00 -04:00
rvcas
5024bd3f9c
feat: code gen support for if/is
...
Co-authored-by: Kasey White <kwhitemsg@gmail.com>
2024-06-25 18:50:00 -04:00
KtorZ
c48f15a957
revert #903 'feat: Emit keyword'
...
While we agree on the idea of having some ways of emitting events, the
design hasn't been completely fleshed out and it is unclear whether
events should have a well-defined format independent of the framework
/ compiler and what this format should be.
So we need more time discussing and agreeing about what use case we
are actually trying to solve with that.
Irrespective of that, some cleanup was also needed on the UPLC side
anyway since the PR introduced a lot of needless duplications.
2024-05-23 17:22:12 +02:00
microproofs
ebe415cfc9
fix errors
2024-05-04 14:04:12 -04:00
microproofs
3c332ca42a
Few more places in codegen where we need to be able to deal with Pair records
2024-05-04 14:04:12 -04:00
microproofs
21b60896f0
remove wild card match from tree functions
...
Start working on supporting Pair clauses
2024-05-04 14:04:12 -04:00
microproofs
f950ae7d3d
WIP: add new opcodes to Air and AirTree and update parts of codegen to handle the new pair type
2024-05-04 14:04:12 -04:00
Micah Kendall
ff4ddfbe1b
Simplifying PR per reviewers request
2024-04-12 21:40:27 -04:00
Micah Kendall
d25b8f91c7
feat: Emit keyword
2024-04-12 21:40:27 -04:00
KtorZ
ed9f5c6ef7
Preserve TypeAlias in types for better context/feedback.
2024-03-08 15:59:33 +01:00
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