Commit Graph

585 Commits

Author SHA1 Message Date
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
KtorZ a06383d333
Use const instead of zero-arg functions in few code-gen tests. 2024-08-30 14:47:22 +02:00
KtorZ ef89691331
Ensure code-gen's Program version/semantic matches Plutus version 2024-08-30 14:45:02 +02:00
microproofs 4a8bec4caa
Fixing gen uplc tests 2024-08-29 16:30:31 +02:00