Commit Graph

1105 Commits

Author SHA1 Message Date
KtorZ
93d0191489 Fix latest clippy warnings. 2024-10-25 11:27:28 +02:00
microproofs
a7741ec286 chore: Release 2024-10-19 13:45:54 -04:00
KtorZ
4b95db4f88 Fix data-type reification from Void 2024-10-19 10:50:44 +02:00
microproofs
5fd349f571 Remove an unused opcode 2024-10-08 20:32:56 -04:00
microproofs
5d4b3e69b9 Revert "Start working on using a decision tree for when expr. Also fmt fix"
This reverts commit e8f74985d5.
2024-10-08 13:33:05 -04:00
microproofs
e8f74985d5 Start working on using a decision tree for when expr. Also fmt fix 2024-10-08 13:30:29 -04:00
microproofs
356d845a9a chore: Release 2024-10-01 16:14:25 -04:00
microproofs
c8731c98c7 Remove prints 2024-10-01 16:09:44 -04:00
microproofs
5fe6e3f77b Finish simplification changes 2024-10-01 15:57:54 -04:00
microproofs
c6c5cddead Fix ordering of params on standard functions 2024-10-01 13:32:27 -04:00
microproofs
2bbc699a25 Refactor some code to make a define_const AirTree function 2024-10-01 13:32:27 -04:00
KtorZ
e8d97028ad Prevent constant evaluating to generic/unbound functions
Constants are like tiny programs, so they are bound by the same rules
  as validators and other programs. In fact, functions are slightly more
  flexible in that they allow generic constant expressions like
  `List<a>`.

  Yet, there is no way to contain such generic structure that contain
  inhabitants in a way that satisfies the type-checker. In the example
  of `List<a>`, the only inhabitant of that type that we can construct
  is the empty list. Anything else would require holding onto some
  generic value.

  In addition, we can't force literal values into generic annotation, as
  something like:

  ```
  const foo: List<a> = [1, 2, 3]
  ```

  wouldn't type-check either since the right-side would unify to
  `List<Int>`. And again, the only right-hand side that can type-check
  is the empty list without any inhabitant.

  The added restriction on generic function is necessary because while
  we allow constants to return lambda, we cannot (easily) generate UPLC
  that is generic in its argument. By the time we generate UPLC, the
  underlying types have to be known.
2024-10-01 18:37:40 +02:00
KtorZ
0060804d1a Fix redundant warning when destructuring validator params
This is not a "proper" fix as it simply get rid of the warning
  altogether (whether you use or not the destructured values).

  The reason for removing the warning entirely is because (1) it's
  simpler, but more so (2) there's no impact on the final code produced
  _anyway_. Redundant let bindings are already removed by the compiler;
  and while it's an implicit behaviour that requires a proper warning
  when it's coming from a user-defined assignment; here the redundant
  assignment is introduced by the compiler to begin with as another
  implicit behavior!

  So we have an implicit behaviour triggering a warning on another
  implicit behaviour. Truth is, there's no impact in having those
  parameters destructured and unused. So since users are already not
  aware that this results in an implicit let assignment being inserted
  in place for them; there's no need for the warning at all.
2024-10-01 13:17:00 +02:00
KtorZ
5737556efc Fix compiler crash around dangling expect/let in traces
Fixes #1029.
2024-10-01 12:24:31 +02:00
Riley-Kilgore
7c6f3278ba Fixed single character patterns using double quotes 2024-09-24 11:54:05 -04:00
microproofs
3d77b5c378 chore: Release 2024-09-20 14:05:15 -04:00
KtorZ
a8b37820e8 Fix incorrect warning about unused variable when softcasting without explicit right-pattern.
See note added in code for a rationale.
2024-09-20 15:09:00 +02:00
microproofs
18e79db4b2 Fix edge case with traces off and usage of softcast and hardcast on the same type 2024-09-19 22:29:19 -04:00
KtorZ
83ac723a50 Fix extraneous space added after multiline alternative patterns 2024-09-19 20:24:59 +02:00
KtorZ
3f149ab346 Provide intermediate feedback during property test runs.
Avoid the interface to hang for several seconds without feedback when counterexamples are being simplified. This sends a heads-up to the user to indicate that a research of a counter example is going on.
2024-09-19 20:19:49 +02:00
KtorZ
91843b2c0e Tweak error output for failed data reification. 2024-09-19 20:18:53 +02:00
KtorZ
47a15cf8b2 Fix formatting of long multiline if/is expressions. 2024-09-15 14:59:47 +02:00
KtorZ
12c0d0bc04 Fix formatter adding extra unnecessary newlines after literal lists clause values or assignments. 2024-09-15 14:40:40 +02:00
microproofs
7047c7720e chore: Release 2024-09-13 16:52:20 -04:00
KtorZ
a9a7a4f977 Fix few formatter annoyances. 2024-09-13 18:53:26 +02:00
KtorZ
799546b654 Show strings as UTF-8 text string during type reification
Instead of defaulting to hex-encoded bytearrays.
2024-09-13 18:34:54 +02:00
KtorZ
9cf908d07f Fix type reification of Data 2024-09-13 18:34:54 +02:00
KtorZ
4fb13af49f Fix type reification of PRNG. 2024-09-13 18:34:53 +02:00
microproofs
16e222e997 Clippy fixes 2024-09-12 19:34:40 -04:00
microproofs
3f2de2665d Clippy fixes 2024-09-12 19:13:31 -04:00
microproofs
362ca2544f Fixed remaining issue when all parameters passed in to a recursive function were static.
Also fixed issue where modifying the calls in the airtree lead to an out of bounds index.
2024-09-12 17:03:48 -04:00
microproofs
30e66be568 Fix soft casting case 2024-09-12 17:03:48 -04:00
microproofs
49ef3a740c Cargo tests now pass 2024-09-12 17:03:48 -04:00
microproofs
7c52094b15 Making progress on using interning in gen_uplc
Done interning for uniqueness. Now to fix the static optimization

Remove unused function

Fixing issues. Have a few remaining tests
2024-09-12 17:03:36 -04:00
KtorZ
0905146140 chore: Release 2024-09-10 13:25:04 +02:00
KtorZ
7741be64f8 Fix validator's fallback handler generation
Fixes #1015.
2024-09-10 10:48:06 +02:00
KtorZ
616dec8f03 Fix formatter getting rid of curly braces around multi-line constants. 2024-09-08 16:23:41 +02:00
KtorZ
0c0369ad61 Fix needed parentheses under trace-if-false disappearing when formatting. 2024-09-08 16:21:45 +02:00
KtorZ
b6d99142f9 Fix formatting of multi-line alternative patterns. 2024-09-08 13:11:53 +02:00
KtorZ
943d90a99e Fix invalid interpolation in error message. 2024-09-07 18:23:35 +02:00
KtorZ
b7ea6ea391 Fix list-pattern formatting 2024-09-07 14:50:47 +02:00
KtorZ
19e30b10f9 Fix #1013 2024-09-06 12:28:12 +02:00
KtorZ
888b7e34c6 Drop debug line that stayed in source code x_x 2024-09-06 12:15:55 +02:00
rvcas
be31a7ce38 chore: Release 2024-09-03 17:01:41 -04:00
rvcas
20ac89fc33 chore: reset version 2024-09-03 17:01:24 -04:00
KtorZ
6a438bc8cd Fix missing locations from generated handler code. 2024-09-03 16:21:53 -04:00
microproofs
a6bc0f7157 Fix positioning on unwrap_void 2024-09-03 16:21:53 -04:00
microproofs
2be76d7cda Use Delay error directly when casting from data without traces 2024-09-03 16:21:53 -04:00
KtorZ
f60df16bc2 Preserve type-aliases during blueprint generation. 2024-09-03 16:39:50 +02:00
KtorZ
7bfc01413b Add missing parser snapshots. 2024-09-01 18:12:46 +02:00