aiken/crates/uplc/src
KtorZ 3762473a60
Add preliminary plumbing to run property test through the CLI.
This is very very rough at the moment. But it does a couple of thing:

  1. The 'ArgVia' now contains an Expr/TypedExpr which should unify to a Fuzzer. This is to avoid having to introduce custom logic to handle fuzzer referencing. So this now accepts function call, field access etc.. so long as they unify to the right thing.

  2. I've done quite a lot of cleanup in aiken-project mostly around the tests and the naming surrounding them. What we used to call 'Script' is now called 'Test' and is an enum between UnitTest (ex-Script) and PropertyTest. I've moved some boilerplate and relevant function under those module Impl.

  3. I've completed the end-to-end pipeline of:
     - Compiling the property test
     - Compiling the fuzzer
     - Generating an initial seed
     - Running property tests sequentially, threading the seed through each step.

   An interesting finding is that, I had to wrap the prop test in a similar wrapper that we use for validator, to ensure we convert primitive types wrapped in Data back to UPLC terms. This is necessary because the fuzzer return a ProtoPair (and soon an Array) which holds 'Data'.

  At the moment, we do nothing with the size, though the size should ideally grow after each iteration (up to a certain cap).

  In addition, there are a couple of todo/fixme that I left in the code as reminders of what's left to do beyond the obvious (error and success reporting, testing, etc..)
2024-03-03 19:33:24 +01:00
..
debruijn fix issue with same names causing 0 index debruijn for var 2022-06-26 21:38:27 -04:00
machine Add preliminary plumbing to run property test through the CLI. 2024-03-03 19:33:24 +01:00
optimize chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
parser feat: uplc g1 and g2 literal parsing 2023-11-15 15:55:56 -05:00
tx chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
ast.rs fix(codegen): builtin calls for g1 and g2 where flipped 2024-02-29 12:13:51 -05:00
builder.rs chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
builtins.rs feat(aiken-lang): expose integerToByteString and byteStringToInteger 2024-02-20 13:05:28 -05:00
debruijn.rs feat(uplc): add Case and Const terms 2023-09-03 11:52:49 -04:00
flat.rs chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
lib.rs chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
machine.rs feat(machine): fix Value::Constr fields order 2024-02-20 13:05:28 -05:00
optimize.rs for now comment out curry code so the rest of the changes 2023-12-15 21:58:02 -05:00
parser.rs chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
pretty.rs chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00
tx.rs chore: change how we depend on pallas 2024-01-24 21:26:48 -05:00