rvcas
06ac851458
chore: update changelog
2024-07-23 11:20:42 -04:00
Matthias Benkort
967c264bfe
Merge pull request #978 from aiken-lang/supercharge_traces
...
Supercharge traces
2024-07-23 08:53:46 +02:00
KtorZ
89890f3b4b
Fill-in CHANGELOG
2024-07-19 12:44:12 +02:00
KtorZ
30ddfa23d9
Provide better parse errors in trace when using comma instead of colon.
2024-07-19 12:28:08 +02:00
KtorZ
2922c0aa6f
Display expected patterns/tokens in parse error when applicable.
...
We've never been using those 'expected' tokens captured during
parsing, which is lame because they contain useful information!
This is much better than merely showing our infamous
"Try removing it!"
2024-07-19 12:28:08 +02:00
KtorZ
d6fd37c80e
Rework 'compact' mode for traces
...
- Trace-if-false are now completely discarded in compact mode.
- Only the label (i.e. first trace argument) is preserved.
- When compiling with tracing _compact_, the first label MUST unify to
a string. This shouldn't be an issue generally speaking and would
enforce that traces follow the pattern
```
label: arg_0[, arg_1, ..., arg_n]
```
Note that what isn't obvious with these changes is that we now support
what the "emit" keyword was trying to achieve; as we compile now with
user-defined traces only, and in compact mode to only keep event
labels in the final contract; while allowing larger payloads with
verbose tracing.
2024-07-19 12:28:08 +02:00
KtorZ
a9d782e206
re-introduce code-gen patch, but with a test.
...
Actually, this has been a bug for a long time it seems. Calling any
prelude functions using a qualified import would result in a codegen
crash. Whoopsie.
This is now fixed as shown by the regression test.
2024-07-19 12:28:07 +02:00
KtorZ
5afcc9b0c1
Remove unnecessary code_gen patch.
...
This is a little weird but, prelude functions are handled slightly
differently.
2024-07-19 12:28:07 +02:00
KtorZ
f8236817fe
Allow serialisable (Data-able) arguments to trace
...
Somehow, we have to patch some function in gen_uplc because of the
module name. I have to look further into this because it isn't normal.
2024-07-19 12:28:07 +02:00
KtorZ
beb5ac4643
Add 'diagnostic' to the prelude, as well as companion functions.
...
This is not fully satisfactory as it pollutes a bit the prelude. Ideally, those functions should only be visible
and usable by the underlying trace code. But for now, we'll just go with it.
2024-07-19 12:28:07 +02:00
KtorZ
754ed07408
Type-check variadic traces & desugarize them.
2024-07-18 10:02:23 +02:00
KtorZ
f9719af23e
Allow variadic arguments in trace
...
Although, doesn't do anything with them yet. The idea is to simplify
the use of trace to make it a lot more useful than it currently is.
2024-07-18 10:01:34 +02:00
KtorZ
976262c2e6
Allow discard in expect.
...
Fixes #967 .
2024-07-17 18:11:09 +02:00
KtorZ
61a991cb23
Merge branch 'benchmark-knights'
2024-07-17 13:01:32 +02:00
KtorZ
46b82fac86
Split benchmarks out of acceptance tests job.
2024-07-17 13:01:17 +02:00
KtorZ
e074037838
Move benchmarks one level up.
2024-07-17 13:00:57 +02:00
KtorZ
30d3898b5b
Add Rust cache to continuous integration workflow.
2024-07-17 12:56:41 +02:00
KtorZ
52974aed75
Add clausify benchmark.
2024-07-17 12:53:19 +02:00
KtorZ
20e606e645
Add benchmarks to continuous integration workflow.
2024-07-17 12:53:18 +02:00
Matthias Benkort
28d2ee7186
Delete examples/benchmarks/.github/workflows/tests.yml
2024-07-17 12:52:29 +02:00
KtorZ
f14dab9547
Collect results from previous versions in a README.
2024-07-17 12:52:29 +02:00
KtorZ
5b0a1716b5
Fix mk_starts and second_last in knights benchmarks.
...
mk_starts was not yielding enough values. It's originally a translation of a double list comprehension in Haskell, which cannot simply be translated to a map2. The latter combine elements two by two, but the former works through all possible permutations.
2024-07-17 12:52:29 +02:00
KtorZ
65afb11546
Implement quicksort on chess board.
...
Note that it might be easier / cheaper to serialize and compare bytes?
2024-07-17 12:52:29 +02:00
KtorZ
f2ff9a2ee3
Review knights benchmark and update dependencies.
2024-07-17 12:52:29 +02:00
microproofs
1d16cbf386
more benchmark work
2024-07-17 12:52:29 +02:00
microproofs
c62821e02a
continue porting over knights example
2024-07-17 12:52:29 +02:00
microproofs
8f825f68b1
commit new example for benchmarking
2024-07-17 12:52:28 +02:00
KtorZ
fe7d744946
Split continuous workflow in three jobs.
...
Doing all steps sequentially is starting to get long. Several of those checks are unrelated and can be done in parallel.
2024-07-16 17:41:14 +02:00
KtorZ
0145237bbe
Version wix boilerplate.
2024-07-16 17:33:49 +02:00
KtorZ
e9f7e96970
Update cargo-dist setup and generated artifacts.
2024-07-16 17:30:11 +02:00
Matthias Benkort
c52ba9c873
Merge pull request #971 from rober-m/main
...
Solved: Nix expression broken in Darwin
2024-07-02 15:46:23 +02:00
Robertino
fef3626498
Fix: Nix expression doesn't work in Darwin
2024-07-02 11:51:46 +01:00
KtorZ
5da7db355f
Use ubuntu-22.04 for linux releases, and add musl target.
...
This should fix the openssl linking issue, as well as provide an alternative linux build that should be fully static.
2024-07-01 17:34:13 +02:00
Matthias Benkort
8b86ee8219
Merge pull request #962 from waalge/w/bump-nix
...
bump nix: use rustc 1.79, add analyzer to devshell
2024-07-01 15:43:09 +02:00
rvcas
5bdea11cc1
fix: add a new assignment kind instead of using a boolean
2024-06-25 18:50:00 -04:00
microproofs
f1cfc84e67
Fix tree traversal node selection for a few of the enum variants
2024-06-25 18:50:00 -04:00
microproofs
9907dd6c64
Fix unit tests
2024-06-25 18:50:00 -04:00
microproofs
4bd9125b86
Fix delay of arguments to be exactly the same as codegen tests
2024-06-25 18:50:00 -04:00
microproofs
f695276bf7
Fix codegen tree traversal to be updated for the otherwise field and future proof the traversal function
2024-06-25 18:50:00 -04:00
microproofs
b5ac5bc949
Add current fixed tests and start working on codegen fix
2024-06-25 18:50:00 -04:00
microproofs
f0f1296906
Fix more tests
2024-06-25 18:50:00 -04:00
microproofs
cc9df04093
Fix missing delay in list_access_to_uplc. Also fix one of the unit tests.
2024-06-25 18:50:00 -04:00
microproofs
41b941e0e3
Fix castfromData in record access cases
2024-06-25 18:50:00 -04:00
KtorZ
00d1927dad
Add few more test cases for the parser and type-checker.
2024-06-25 18:50:00 -04:00
rvcas
aeb079334e
chore: this test doesn't make sense anymore
2024-06-25 18:50:00 -04:00
rvcas
8f343abaa1
chore: add new snapshots
2024-06-25 18:50:00 -04:00
microproofs
e09f6bbc87
delay otherwise branch to prevent premature errors
2024-06-25 18:50:00 -04:00
microproofs
df939e20ce
missed a Air Op Code and updated how we pass in otherwise for assignment
2024-06-25 18:50:00 -04:00
rvcas
7da35d5d73
chore: add acceptance tests for if/is
2024-06-25 18:50:00 -04:00
rvcas
579abb7d3d
fix: no need to check exhaustiveness during if/is
2024-06-25 18:50:00 -04:00