Commit Graph

2392 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 a9675fedc6
Fix deserialization of SerializedProgram into wrong Plutus version wrappers. 2024-12-03 22:22:11 +01:00
Simon Gellis 6f1477cef7 Allow tildes in identifier names 2024-11-25 16:20:35 -05: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
KtorZ b5047d623a
Update to pallas=0.31.0 2024-11-19 14:53:36 +01:00
microproofs eec08fcbd9
Fix scoped path for list with tail cases only plus wild card fallback 2024-11-18 12:22:08 -05: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 d39d70a5d8
More clippy fix 2024-11-01 19:34:56 -04:00
microproofs 1227a8a7db
Clippy fix 2024-11-01 19:34:55 -04:00
microproofs 6b04a78e78
Removing unneeded Air terms and reduce by about 800 lines 2024-11-01 19:34:54 -04:00
microproofs 1bc15f78ea
Finished up remaining touches to the implementation. Now I need to finish unit tests and add a few more 2024-11-01 19:34:54 -04:00
microproofs a4aaf4d2d7
Last issue from acceptance tests 2024-11-01 19:34:53 -04:00
microproofs 27bf40260e
Fix pairs not being unwrapped when wrapped as fields 2024-11-01 19:34:53 -04:00
microproofs 25e4b42cd0
Fix more tests and issues 2024-11-01 19:34:53 -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
microproofs b4d142ca9d
Fix assigns sometimes having free uniques 2024-11-01 19:34:52 -04:00
microproofs fa203ba9a2
Done with list pattern translation. Now to fix up tests 2024-11-01 19:34:52 -04:00
microproofs 8591bedc1e
Finish up list pattern translation to air 2024-11-01 19:34:52 -04:00
microproofs 1a15440d24
Checkpoint for today 2024-11-01 19:34:52 -04:00
microproofs 9dbe66bc0c
Producing uplc now. Just need to finish ListSwitch 2024-11-01 19:34:51 -04:00
microproofs 342676f530
Continue work on integrating the decision tree into code gen 2024-11-01 19:34:51 -04:00
microproofs 61184fbb86
Use Stick breaking set to track previously encountered values for each DecisionTree switch case 2024-11-01 19:34:51 -04:00
microproofs 5eac774443
Commit latest changes so far 2024-11-01 19:34:50 -04:00
microproofs 753b41dc99
Done with hoisting. Now to use it in gen_uplc. I hate RcDoc btw :'/ 2024-11-01 19:34:50 -04:00
microproofs 9601c1034b
Leave todo message for tomorrow 2024-11-01 19:34:49 -04:00
microproofs 7966cc0165
Finish up decision tree and rework it a bit to closely follow how the paper handles wild card patterns 2024-11-01 19:34:48 -04:00
microproofs 3b3fcb666f
Finish with adding constrs 2024-11-01 19:34:48 -04:00
microproofs ecf4592be1
Pass in interner and data types map into decision tree builder 2024-11-01 19:34:47 -04:00
microproofs 64f7886b23
Finished up creating the decision tree for lists. Only constr left. 2024-11-01 19:34:47 -04:00
microproofs b340de2cfd
Incremental commit for dealing with list tails 2024-11-01 19:34:47 -04:00
microproofs ca161d8a68
Continue work on handling lists with tails pattern matching 2024-11-01 19:34:46 -04:00