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
2b7ca0e4a1
Avoid unsafe unwrap of line_numbers, gracefully handle non-existing matches
...
Fixes #1044 .
2024-10-25 11:37:50 +02:00
KtorZ
93d0191489
Fix latest clippy warnings.
2024-10-25 11:27:28 +02:00
KtorZ
e97fe332b1
Rename --filter_traces to --trace_filter
...
It has somehow always annoyed me that we have --trace_level (with 'trace' first) and --filter_traces (with traces, plural and last). Given that these two options are almost always used together, the inconsistency is frustrating.
2024-10-25 11:08:05 +02:00
KtorZ
8e90a933c6
Add better METAVAR info to some command-line flags.
2024-10-25 11:04:46 +02:00
KtorZ
7c4e044423
Rename --blueprint-input to --in
...
The context is indeed sufficient as pointed by @nemo83; no need to make the cli needlessly verbose.
2024-10-25 11:04:46 +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
b04bb40532
Merge branch 'integer-to-bytearray-cost-fix'
2024-10-19 11:03:37 +02:00
KtorZ
365b3bf5bf
Remove dead-code and clarify note.
2024-10-19 11:00:46 +02:00
KtorZ
4b95db4f88
Fix data-type reification from Void
2024-10-19 10:50:44 +02:00
KtorZ
523b270a8f
Adjust telemetry output log.
2024-10-19 10:40:30 +02:00
microproofs
53685dd1d5
Update cost model to properly calculate integer_to_bytearray
...
Also fix conformance tests to match plutus
2024-10-18 13:07:51 -04:00
microproofs
9dd3ead3df
IntegerToByteString takes in the second param itself
2024-10-17 20:01:01 -04: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
KtorZ
79d0e45099
Don't mark openssl dependencies as optional on musl.
2024-10-02 11:32:17 +02:00
KtorZ
f4dbe1624a
Use target_os = linux instead.
2024-10-02 10:59:50 +02:00
KtorZ
19fe1d37e7
Make bundling of ssl conditionned by target environment instead of feature flag.
2024-10-02 10:51:21 +02: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
513ca27717
Generate empty redeemer for `else` handler, to keep full compliance with the blueprint spec
2024-10-01 19:03:34 +02: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
51b6b77db8
Build LSP projects with verbose tracing level
...
Without that, the language server might trigger awkward warnings about
unused imports due to trace stripping. So it's better to compile/check
projects in the language server in the most expanded form.
2024-10-01 16:12:41 +02:00