to pass 2 of the conformance tests, we need to make sure that we aren't typechecking builtin arguments as arguments are applied. This switches push to by removing the call to check_type and then reworking all the associated unwrap methods on Value so that they return the same errors that were being returned before. |
||
|---|---|---|
| .. | ||
| ite | ||
| iteAtIntegerArrowIntegerApplied1 | ||
| iteAtIntegerArrowIntegerApplied2 | ||
| iteAtIntegerArrowIntegerAppliedApplied | ||
| iteAtIntegerArrowIntegerWithCond | ||
| iteForceAppForce | ||
| iteForced | ||
| iteForcedForced | ||
| iteForcedWithIntegerAndString | ||
| iteStringInteger | ||
| iteStringString | ||
| iteUnforcedFullyApplied | ||
| iteUnforcedWithCond | ||
| iteWrongCondTypeFullyAppied | ||
| iteWrongCondTypePartiallyApplied | ||
| multiplyIntegerForceError1 | ||
| multiplyIntegerForceError2 | ||
| multiplyIntegerForceError3 | ||
| README.md | ||
README.md
The test cases here are all extracted from the tests in
plutus-core/untyped-plutus-core/test/Evaluation/Golden.hs and check that
interleaving of forces and normal arguments for builtin applications behaves
correctly. Most of these are for ifThenElse (ite) because that has the most
complicated interleaving behaviour of our current builtins (it expects an
argument of the built-in bool type, then a force, then two term arguments).