Commit Graph

77 Commits

Author SHA1 Message Date
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 518bea5be4 feat: fixed up generate and generate test
last step is checking on uplc code gen
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 ae9de11e77 big checkpoint:
feat: add monomorphize and other useful tree function abstractions
feat: started testing function hositing result so far
2023-08-07 12:02:44 -04:00
microproofs 9704cafefe a checkpoint for function hoisting start and type fix 2023-08-07 12:02:44 -04:00
microproofs 0854d71836 chore: another checkpoint and renamed ClauseProperties fields 2023-08-07 12:02:44 -04:00
microproofs d731757123 feat: start on clauses in when conditions
**checkpoint**
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 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 5e097d42ba feat: add AirTree types and builder functions 2023-08-07 12:02:44 -04:00
rvcas e7c1b28b52
feat: add ability to reference validators in tests closes #632 2023-07-12 18:29:03 -04:00
KtorZ 549cf22cdd Rename (Un)TypedExpr.Int -> (Un)TypedExpr.UInt
We do not actually every parse negative values in there, as a negative value is a combination of a 'Negate' and 'UInt' expression.
  However, for patterns and constant, it'll be simpler to parse whole Int values as there's no ambiguity with arithmetic operations
  there. To avoid confusion of having some 'Int' constructors containing only non-negative values, and some being on the whole range,
  I've renamed the constructor to 'UInt' to make this more obvious.
2023-07-06 16:10:46 -04:00
microproofs 67c072a1a9 test: add acceptance test 86
fix: prevent mutual recursion for expect type code gen functions
2023-07-04 12:24:25 -04:00
microproofs d641f731b7 fix: needed a stricter check for expect_pattern func on discard pattern 2023-06-28 15:54:59 -04:00
microproofs 8b3504e9a1 fix: `expect _ = ...` not including the cast from data logic if the type is data and right hand has a type annotation 2023-06-23 18:39:12 -04:00
microproofs 226556bdd6 fix: builtins using the incorrect data to type conversion when used as a function param. 2023-06-23 14:31:19 -04:00
microproofs db369da96e feat: Make traces produced by expect dependent on
the value of the tracing flag.
2023-06-23 14:03:23 -04:00
microproofs dbfa08a5a7 fix: issue with tuple clause
It was not consuming the next case if there was no condition being checked in the clause.
Now it properly always consumes the next clause unless last clause.
2023-06-23 12:36:15 -04:00
microproofs 626033ff9b fix: attempt to convert from opaque before doing monomorphization 2023-06-22 18:20:31 -04:00
microproofs 24f5c4de6b fix: the final clause of a when expecting another clause afterwards in nested list cases.
fix: all elements were being destructured in tuple clauses even if not used
2023-06-19 21:43:38 -04:00
microproofs c3bb7b0f75 fix: tail list being expected on when it should be empty 2023-06-13 12:03:38 -04:00
microproofs af36b5ac77 fixes:
fix: Issue where using var pattern in a when was passing the constr index instead of the constr
fix: Issue where expecting on a list had unexpected behaviors based on list length
2023-06-13 12:03:38 -04:00
microproofs 5faa925aea fix: error when using nested boolean checks in when conditions 2023-06-06 03:04:12 -04:00
microproofs cdf8bd6548 fix: list items in when were not being added to scope
fix: tuple clause must preserve previous clause properties state
2023-06-02 18:38:21 -04:00
microproofs 8f0cf289b4 fixes:
fix: rearrange clauses and fill in gaps now handles nested patterns in a uniform way
fix: discards in records was being sorted incorrectly leading to type issues
chore: remove some filter maps in cases where None is impossible anyway
chore: some refactoring on a couple functions to clean up
2023-06-02 18:38:21 -04:00
microproofs 6955f79035 chore: update changelog
fix: Minor improvement to record update to use empty list instead of the null list from a record fields list.
2023-06-01 12:22:42 -04:00
microproofs c710d488d6 fix: need to sort record update args so they match indices order 2023-05-30 20:23:12 -04:00
microproofs 52a51acc69 fix: fix record update so it actually works
Created multiple tests of varying record updates
2023-05-30 20:23:12 -04:00
microproofs a65821d5ab fix: constrs that contain fields now work when passed as an arg to a function.
Convert acceptance test 22

Create test for passing constr as a function
2023-05-30 17:28:52 -04:00
microproofs 173154e406 fix: (code gen): expect type now properly tracks constructor dependency.
This was specific to code gen generated functions.
2023-05-17 17:56:01 -04:00
microproofs 4838ebd39e feat: record modules are no longer unimplemented for no fields
refactor: remove some clones and use a ref instead
test: add acceptance test 81
2023-05-14 18:30:51 -04:00
microproofs 3356e2ecd0 fix: nested constrs with a single index was ignoring fields 2023-05-14 17:33:01 -04:00
microproofs 4b8fd1769a chore: change pattern todos to have a better error message 2023-05-08 16:27:43 -04:00
microproofs 49898f7420 fix: to_data_builtin to operate on arg not func result 2023-05-08 16:15:09 -04:00
microproofs b36cf1c029 chore: refactor default functions in uplc_code_gen.
feat: Add an identity optimization to remove functions that return the argument only.
2023-05-08 16:15:09 -04:00
microproofs d2dbae1cbf fix:
Negative numbers now show up as a constant instead of 0 - that number

Expect on constructors without field maps no longer panics

Expect on constructors with discard as assigned field names now no longer throws free unique
2023-04-30 14:44:54 -04:00
microproofs 7201163b77 fix: better function hoisting for code gen functions
mainly code gen function dependencies won't be hoisted to the top.
2023-04-28 17:05:46 -04:00
microproofs ff87a4c60f fix: "when bool is" was not properly assigning term to body when not a complex clause
Add some end to end tests to test uplc
2023-04-23 12:51:23 -04:00
microproofs 9bb1a88f23 fix: expect [] on a non-empty list now fails. 2023-04-21 17:39:21 -04:00
microproofs 23a7e7e680 chore: convert acceptance test 5
Also constructors with no fields are now converted to a constant data term.
2023-04-19 16:08:55 -04:00
microproofs 7dd13f8d73 feat: add end to end tests to replace acceptance tests with strict uplc comparison.
Add acceptance tests 1,2, 6 as end to end tests
2023-04-19 16:08:55 -04:00
microproofs fc1b8738df fix: fixed how the ir was generating for expect Void, expect Bool, let Void
add some acceptance tests for the various scenarios
2023-04-12 22:37:33 -04:00
Kasey White 1e35281650
clause guard with discard is now handled 2023-04-12 08:26:03 +02:00
Kasey White e69a70f49c remove final wrapper and replace with equivalent air elements 2023-04-09 17:43:56 -04:00
Kasey White 9e95e24624 now tests are passing 2023-04-09 17:43:56 -04:00
Kasey White efb901f3b4 fix: issue with modifying a functions dependencies and adding a function that depended on it causing infinite loops 2023-04-09 17:43:56 -04:00
Kasey White a17ebf301f fix: now we monomorphize __expect_type functions 2023-04-09 17:43:56 -04:00