17 Commits

Author SHA1 Message Date
4efc38d319 Make dryrun operate on the top block. 2025-03-01 12:42:23 +09:00
SpiveeWorks
ede98b9e96 Fix function spec AACI preparation 2025-02-28 23:59:00 +11:00
d83ac6eb59 verup 2025-02-27 22:21:34 +09:00
SpiveeWorks
36a9b17b78 Clean up try_coerce slightly 2025-02-27 23:12:33 +11:00
SpiveeWorks
4e71d3215b Factor handling of different ACI typedef cases
A lot of this complexity was a consequence of trying to avoid redundant
extraction of the namespace's/contract's name, so on the other hand
letting it be redundant made all of the complexity kind of evaporate.
Add to that that we're now building a little deep list and then
flattening it, and this logic was able to get really neat in a way that
I couldn't work out a year ago.
2025-02-26 12:00:12 +11:00
SpiveeWorks
c27005c424 Rename 'flatten' and so on to 'annotate' 2025-02-26 12:00:06 +11:00
SpiveeWorks
ad7be7c8db Break up prepare_aaci logic
Now we convert the ACI into trees of opaque types, then flatten the tree
into a map and a list of function specs, and only then dereference the
types in the function specs down to our accelerated annotated types.
2025-02-26 11:59:58 +11:00
SpiveeWorks
7eb29827a6 Fix type substitution into variants and records
Variants were working by accident, since
{variant, [{"VariantName", [Element]}]} had a similar enough form to
the opaque types that would come from something like
`type1(type2(int))`, but records were not working, since they have a
different form. Now both are handled explicitly so that only the
intended forms of each are handled.
2025-02-26 11:59:52 +11:00
SpiveeWorks
4441f6ff37 Also prepare AACI for namespace types 2025-02-26 11:59:45 +11:00
SpiveeWorks
04311f9c99 Even more unit tests
Trying to test all the basic types that coerce covers, and a couple more
type parameter and nested cases.
2025-02-26 11:59:34 +11:00
SpiveeWorks
cf8970dad2 Add unit tests for some simple coercions 2025-02-26 11:59:33 +11:00
e53da36f2e Update deps and verup 2025-02-25 10:06:12 +09:00
5fdf1de4ef Adjustments 2025-02-25 10:00:14 +09:00
b69ababf0f Remove oracles, update deps (except sophia) 2025-01-23 23:51:18 +09:00
06fc0ac403 WIP: Adding contract_create_built/3 2024-12-09 15:00:21 +09:00
dbf4f6bdb2 Updates necessary for the nwe poop 2024-11-12 18:52:08 +09:00
3f80b11d63 Initial 2024-03-27 14:45:50 +09:00