Riley-Kilgore
07679b8acc
Ran fmt
2025-01-22 15:23:17 -08:00
Riley-Kilgore
bd44b22d59
Addressed comments on benchmarking PR
2025-01-22 15:23:17 -08:00
Riley-Kilgore
df05ae7e5d
Uh, formatting again..
2025-01-22 15:23:17 -08:00
Riley-Kilgore
d73ee3dfe7
Formatting
2025-01-22 15:23:17 -08:00
Riley-Kilgore
84a0abeb0f
Old Fuzzer, new Sampler
2025-01-22 15:23:17 -08:00
Riley-Kilgore
c0fabcd26a
Added benchmark keyword and unified Samplers and Fuzzers as Generator
2025-01-22 15:23:17 -08:00
Riley-Kilgore
d353e07ea1
Formatting
2025-01-22 15:23:17 -08:00
Riley-Kilgore
699628df62
Added ScaledFuzzer capabilities
2025-01-22 15:23:17 -08:00
Riley-Kilgore
f55419e8fb
Fixed basic benchmarking functionality
2025-01-22 15:23:17 -08:00
Riley-Kilgore
e97e85a272
Dump (benchmarking wip)
2025-01-22 15:23:17 -08:00
KtorZ
be770acb54
add some regression tests for the new unused fields warning.
2025-01-22 18:07:57 -05:00
KtorZ
05264bc423
Trigger warning when destructuring records using unnamed fields
...
Comes with a helpful hint and a LSP quickfix, so that it's most
convenient.
2025-01-22 18:07:57 -05:00
microproofs
b25afa2d0d
chore: Release
2025-01-21 23:48:15 +07:00
microproofs
a9bedda5ed
Update script context handler to do less work with only fallback. Also optimize wrapped builtins too.
2025-01-15 18:27:43 +07:00
microproofs
09ddec6b41
New optimization to split independent lam function applications to enable case constr to optimize further
2025-01-11 19:09:00 +07:00
microproofs
f7f68fbafc
Add writeBits back in and use the optimizer to utilize the list conversion
2025-01-11 19:08:42 +07:00
microproofs
2c214186b6
Make sure clean up doesn't add case and constr to comp time eval. Also had fun with test_1 mint script context validator
2025-01-11 19:08:42 +07:00
microproofs
c1ed0dcbb5
Remove some prints and switch an uneeded isize to usize since it can't be negative
2025-01-11 19:08:41 +07:00
microproofs
19b4b9df0f
Inline now handles (if cond then body else error) patterns.
...
This allows conditions like ```expect x == 1``` to match performance with ```x == 1 && ...```
Also change builtins forcing to accommodate the new case-constr apply optimization
2025-01-11 19:08:41 +07:00
rvcas
b3de1b048b
fix: blueprint still needs to load older plutus versions
2025-01-02 13:37:17 -05:00
KtorZ
620fe6b299
Preserve holes discard names in function captures
...
Fixes #1080
2025-01-02 12:57:32 +01:00
rvcas
5f8b252783
fix: adjust comment formatting in pipelines closes #985
2024-12-30 22:33:13 -05:00
rvcas
c1871768f8
feat: remove plutus v1,v2 from aiken.toml closes #1032
2024-12-25 22:52:08 -05:00
KtorZ
22172069f8
chore: Release
2024-12-13 16:44:12 +01:00
KtorZ
da1c478b2f
chore: Release
2024-12-13 15:22:10 +01:00
KtorZ
67bf64967b
rename 'constr_{fields,index}' to 'unconstr_{field,index}'
...
Better match the conventions so far used across the existing builtins.
2024-12-13 15:18:20 +01:00
microproofs
f0fc7b4d5f
Clippy fix
2024-12-13 14:18:18 +07:00
microproofs
463b88413e
feat: new builtins constr_index and constr_fields for alternative fast ways to take apart Data
2024-12-13 14:15:19 +07:00
microproofs
ebc7d89d5d
Comment out ExpModInteger since it's not live on testnets yet
2024-12-08 14:29:58 +07:00
KtorZ
1105dbf3c6
enable new builtins (*with gotcha)
...
We still need to adjust the writeBits one to work around its list<int> argument.
2024-12-07 15:43:38 +01:00
KtorZ
d3344528b3
add type signatures for new builtins.
2024-12-07 15:43:38 +01:00
KtorZ
1f1e68712c
add type signatures for new builtins.
2024-12-07 14:25:12 +01:00
microproofs
5cf3275793
Detect difference in cost model length to maintain compatability with mainnet and testnet
2024-12-05 11:03:41 +07:00
microproofs
befbb6ec18
Start adding implementation for new builtins
2024-12-05 11:03:41 +07:00
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
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
fafb89d838
Prevent ANSI colors & styles to appear in JSON output.
2024-11-13 12:52:12 +01: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
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