Commit Graph

2386 Commits

Author SHA1 Message Date
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
microproofs
def268d966 Now working for all kinds of patterns except for constr 2024-11-01 19:34:46 -04:00
microproofs
9369cbc1a3 Remove some warnings 2024-11-01 19:34:46 -04:00
microproofs
43e859f1ba Rework Decision Trees to use path to find the subject to test 2024-11-01 19:34:46 -04:00
microproofs
20385a7ecd Handle tuples and pairs properly now 2024-11-01 19:34:45 -04:00
microproofs
97ee1a8ba6 Start working on using a decision tree for when expr. Also fmt fix. Other Stuff 2024-11-01 19:34:45 -04:00
KtorZ
2489e0fdd0 Fix aiken docs constant generation
Fixes #1048.
2024-10-29 14:15:31 +01:00