Commit Graph

588 Commits

Author SHA1 Message Date
Kasey
86ec3b2924 Fix: issue crash in code gen with incorrect column length in decision trees (#1069)
* Fix: Deeply nested assignments would offset the new columns count calculation. Now we track relevant columns and their path to ensure each row has wildcards if they don't contain the relevant column

* Add test plus clippy fix

* Clippy fix

* New version clippy fix
2024-12-05 11:02:19 +07:00
KtorZ
e2fb28b4ce chore: Release 2024-11-19 15:55:23 +01:00
KtorZ
e12d7e807d Move JSON-schema help for check behind dedicated flag
1. A new option `show_json_schema` which, when enabled, will print the JSON schema of the command output if the target isn't an ANSI-capable terminal.
   2. Some modifications to the help message and error handling for the new option `show_json_schema`.

   This is now done to avoid flooding the help screen with an entire
   JSON schema. Plus, it makes the schema more easily exportable as an
   actual JSON schema.
2024-11-19 15:48:39 +01:00
KtorZ
7a93c55d0b Minor fixes on the telemetry output for terminal. 2024-11-19 15:00:03 +01:00
microproofs
18054eed1a chore: Release 2024-11-13 15:17:53 -05:00
Kasey
4ea6fdffe8 Aiken UPLC Optimization overhaul (#1052)
* Refactor and structuring optimizations to be less computationally heavy

* Forgot to commit the new file containing the optimization do over

* Point to correct functions in shrinker2

* Split out inline_constr_ops since it adds in builtins that can then be swept up by the builtin force reduction

* Fix: issue where identity reducer was always returning true

* Forward inlining on lambdas produces better results. This is due to a forward pass being able to apply an argument that may have no_inline at the top where as vice-versa would reduce the arg first.

* Clippy and test fixes

* Clear no_inlines when inlining a function

* Convert shrinker2 to replace shrinker and update tests
2024-11-13 15:08:36 -05:00
KtorZ
10c1b46bf7 Bump minimum rust version everywhere to 1.70.0 2024-11-13 19:38:57 +01:00
KtorZ
5960065a03 Fix validator selection for apply, address and policy command
Before this commit, we would require those target a specific handler,
  whereas they are in fact global to the entire validator.

  So now, we recover the behaviour from before where we default to the
  only available validator when there's no ambiguity.

  Note that this also solves the need for repeatedly applying parameters
  to each handler of a parameterized validator. The command now
  rightfully apply parameters to each corresponding handler.
2024-11-13 19:36:30 +01:00
KtorZ
a51f7285c1 Make blueprint files configurable in and out
Closes #1055.
2024-11-13 18:15:09 +01:00
KtorZ
51a8ddcc0b Document test output JSON schema through '--help'
The help manual is getting a bit large, but fortunately, we can resort
  to a simpler/more compact version using `-h`.
2024-11-13 14:59:20 +01:00
KtorZ
da982510dc Rework JSON output for tests
- Ensure consistency between overall summary and individual summaries.
  - Remove 'max_*' properties, since they are only padding numbers used
    for formatting the terminal output.
  - Rename a few fields to be closer to the existing naming (name ->
    title, memory -> mem, etc..)
  - Remove duplicated outputs
  - Re-order fields such that summaries come first
2024-11-13 13:12:42 +01:00
KtorZ
fafb89d838 Prevent ANSI colors & styles to appear in JSON output. 2024-11-13 12:52:12 +01:00
KtorZ
d24a71ee04 Define new event target for JSON, and revert option passing
For the program to be consistent, the 'EventListener' target that we
  pass to a Project should be responsible for the output format.
  Otherwise, we are contingent on developers to remember passing the
  option at call-site. Plus, it overloads the project code with an extra
  boolean option.

  Instead, since the behaviour is solely driven by the execution
  context, we can instantiate a different event target upfront, and
  simply hold on to it throughout the program.

  As a nice side-effect, we can gently re-organize the code to keep the
  terminal printing logic and the json printing logic separate.
2024-11-13 11:07:25 +01:00
Riley-Kilgore
1a75568027 Added target awareness and fixed property based test json output 2024-11-13 11:07:24 +01:00
Riley-Kilgore
d1a1d0ec01 Remove unused args in fmt_test_json 2024-11-13 11:05:13 +01:00
Riley-Kilgore
8ac09025f5 Cherry picked cef3276521ba005fa30af46130dba2836347b1ae 2024-11-13 11:05:13 +01:00
microproofs
cd42f51f1a Finish up tests for decision-tree modification 2024-11-08 14:11:34 -05:00
microproofs
634b2e0f79 Next test 2024-11-02 17:16:03 -04:00
microproofs
d350bc1935 Change another test 2024-11-02 14:45:58 -04:00
microproofs
362eb75329 Continue updating tests 2024-11-01 19:34:58 -04:00
microproofs
e87d7a1101 Fixing unit tests 2024-11-01 19:34:57 -04:00
microproofs
6e94d502a7 Fix more tests and issues 2024-11-01 19:34:53 -04:00
microproofs
7655a6ecbe Fix test issues 2024-11-01 19:34:52 -04:00
KtorZ
2489e0fdd0 Fix aiken docs constant generation
Fixes #1048.
2024-10-29 14:15:31 +01:00
KtorZ
2b7ca0e4a1 Avoid unsafe unwrap of line_numbers, gracefully handle non-existing matches
Fixes #1044.
2024-10-25 11:37:50 +02:00
Riley-Kilgore
8d8f91b76e Add blueprint file input as option for blueprint apply 2024-10-24 14:01:48 -04:00
microproofs
a7741ec286 chore: Release 2024-10-19 13:45:54 -04:00
KtorZ
523b270a8f Adjust telemetry output log. 2024-10-19 10:40:30 +02:00
microproofs
356d845a9a chore: Release 2024-10-01 16:14:25 -04:00
KtorZ
513ca27717 Generate empty redeemer for else handler, to keep full compliance with the blueprint spec 2024-10-01 19:03:34 +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
92f5bf529f Generate address on else and spend validators; uses title 2024-09-24 11:55:10 -04: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
microproofs
3fddab4724 Add test for hard cast and soft cast on same type 2024-09-19 23:48:06 -04: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
d6c728c0f6 Fix link_tree generation when re-inserting the same modules. 2024-09-14 16:30:28 +02:00
microproofs
7047c7720e chore: Release 2024-09-13 16:52:20 -04:00
KtorZ
0905146140 chore: Release 2024-09-10 13:25:04 +02:00
KtorZ
28916c1ef9 Show relative path by default instead of absolute
The absolute path is long and doesn't really provide much information.
  Plus, it's inconsistent with the behavior on a specified path.
2024-09-07 18:24:50 +02:00
KtorZ
04fb11084c Fix dark colorscheme for dark. 2024-09-06 13:31:19 +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
microproofs
140cb02be0 Generic test now passes 2024-09-03 16:21:53 -04:00
microproofs
2f33c4a8f4 Push up test failing due to missing messages 2024-09-03 16:21:53 -04:00
microproofs
8933688c68 Rest of the tests to push up 2024-09-03 16:21:53 -04:00
microproofs
c370a4aa6a Pushing up tests that test both trace and non-trace uplc 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
007b85b864 Warn for any ignored file during source parsing
Not only for files with a .ak extension.
2024-09-03 15:28:09 +02:00
KtorZ
038f6ecbfd Detect and report duplicate module names during parsing
Funny enough, we thought about that but only across packages. Now, the
  situation gets a little tricky because of folder structure, it's easy
  to define a module "foo" in `env`, `lib` and/or `validators`. From the
  compiler's perspective, they all have the same name.
2024-09-03 15:24:01 +02:00