rvcas
6b70292dfb
chore: cargo fmt
2023-09-06 21:10:50 -04:00
rvcas
1de7b2866a
feat(cli): add --deny to build, check, and docs
...
This is useful for CI, where people that may have
a stricter workflow want to force CI to fail if any warnings
are detected.
2023-09-06 17:19:44 -04:00
microproofs
819a0a20e6
add tests for case and constr
...
Fix a minor issue with decoding order
2023-09-03 11:52:49 -04:00
microproofs
c9b01ab365
chore: fill in cost model
...
test: Add case and constr eval tests
2023-09-03 11:52:49 -04:00
microproofs
85901dc141
chore: update cost model with placeholders for new terms to pass tests
2023-09-03 11:52:49 -04:00
microproofs
40e1d39f8b
Add placeholders for cost model
2023-09-03 11:52:49 -04:00
microproofs
33d6d3049e
add compute for the new terms constr and case
2023-09-03 11:52:49 -04:00
microproofs
e566c4e1de
feat(uplc): add Case and Const terms
...
- parsering
- interning
- flat encoding and decoding
- pretty printing
- debruijn conversion
Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-09-03 11:52:49 -04:00
rvcas
dfe433ea46
fix: trim whitespace when loading hex strings from files closes #720
2023-08-31 18:22:09 -04:00
rvcas
437a95bfe8
fix: behave like rust with hyphens closes #722 closes #690
2023-08-31 18:00:21 -04:00
rvcas
dca09811c1
fix: empty records crashing code gen closes #728
2023-08-31 17:39:38 -04:00
rvcas
fb967d4c7b
fix: uplc formatter of Data closes #716
2023-08-31 17:20:48 -04:00
microproofs
51c44c6a30
fix: add an assert for better error messages when doing empty types
2023-08-30 13:50:37 -04:00
waalge
cd3a02416f
chore: rm unused pub function
2023-08-29 22:30:06 -04:00
waalge
756e16c14b
fix: rename assert to expect
2023-08-29 22:30:06 -04:00
microproofs
baa6917af5
Fix: Change type map length assert to check for greater than equals instead of equals to argument length
2023-08-29 21:59:15 -04:00
waalge
d4b9f22ac3
rm unnecessary mut
2023-08-26 16:30:44 +00:00
rvcas
b075d85b40
chore: Release
2023-08-24 15:05:12 -06:00
rvcas
a7062ccb88
chore: fix versions
2023-08-24 15:04:19 -06:00
rvcas
747e057d05
fix: tags
2023-08-24 15:00:09 -06:00
KtorZ
379368c530
Fix clippy.
2023-08-22 13:30:30 +02:00
KtorZ
2f0211a7b1
Bump all version manually because cargo workspaces didn't work.
2023-08-22 13:27:10 +02:00
KtorZ
780a61e3e8
Release 1.0.16-alpha
...
aiken@1.0.16-alpha
Generated by cargo-workspaces
2023-08-22 13:18:48 +02:00
KtorZ
7883aff5f7
revert 619b73d03e
...
There's really no scenario where we want to generate boilerplate that
always end up being removed. In particular, the boilerplate breaks
tutorial as it generate conflicting validators in the blueprint.
The only argument in favor of the boilerplate is to serve as example
and show people some syntax reminder. However, this is better done in
the README or on the user manual directly.
2023-08-22 12:59:36 +02:00
microproofs
89c55a23fa
chore: Release
2023-08-19 20:17:00 -04:00
microproofs
084b900b2a
change: traverse_with_tree now has a boolean to determine when with is called
...
fix: Opaque types are now properly handled in code gen (i.e. code gen functions, in datums/redeemers, in from data casts)
chore: add specific nested opaque type tests to code gen
2023-08-19 20:07:37 -04:00
KtorZ
139226cdab
Support interactive blueprint parameter application.
2023-08-19 13:39:39 -04:00
KtorZ
c1b8040ae2
Add helper for splitting a long line into multiple lines.
2023-08-19 13:39:39 -04:00
KtorZ
961e323c36
Enable iterating over validator's parameters with a callback
...
This is how we'll construct parameters interactively. We need to lookup the definition, and provide a data representation for it.
2023-08-19 13:39:39 -04:00
KtorZ
051e9a6851
Add some utility functions for displaying Term/PlutusData
...
This is useful with the blueprint stuff, where Term are often just plain PlutusData.
2023-08-19 13:39:39 -04:00
rvcas
690e41261e
chore: Release
2023-08-16 23:30:21 -04:00
rvcas
f5a49c4df4
fix: aliased import of single type throws compiler error closes #707
2023-08-16 23:15:51 -04:00
rvcas
2600937447
chore: cargo fmt
2023-08-16 22:56:22 -04:00
logicalmechanism
649039c993
tx simulate still need fee work
2023-08-16 22:37:00 -04:00
logicalmechanism
050c41c8dc
tx simulate returns a vector of exbudgets now
2023-08-16 22:37:00 -04:00
Ariady Putra
8cf92ce8ed
`aiken new`: Try to get the latest tag of stdlib
2023-08-16 22:30:15 -04:00
microproofs
c95f43ae07
add one more test
2023-08-16 21:59:25 -04:00
microproofs
20aa54b5ca
fix: last test fixed
2023-08-16 21:59:25 -04:00
microproofs
a45e04fd9b
fix: using the wrong var for pattern matching
2023-08-16 21:59:25 -04:00
microproofs
2456801b17
fix list clauses with guards and add more tests
2023-08-16 21:59:25 -04:00
rvcas
6ecb3f08b0
chore: default stdlib on new is 1.5.0
2023-08-16 13:24:10 -04:00
rvcas
0ff64e3bac
test: check and format tests for logical op chain
2023-08-15 09:58:35 -04:00
rvcas
e14d51600f
feat(format): logical op chain
2023-08-15 09:58:35 -04:00
rvcas
2c2f3c90fb
feat: new snapshots
2023-08-15 09:58:35 -04:00
rvcas
05eb281f40
chore: can safely remove this at this point
2023-08-15 09:58:35 -04:00
rvcas
e4ef386c44
feat(tipo): inference for and/or chains
2023-08-15 09:58:35 -04:00
rvcas
ab3a418b9c
feat(parser): add support for and/or chaining
2023-08-15 09:58:35 -04:00
microproofs
4a1ae9f412
set eval to public
2023-08-12 16:42:23 -04:00
microproofs
ca4a9fcd3d
chore: make eval function and SlotConfig public
2023-08-11 20:33:08 -04:00
microproofs
8af253e1df
chore: make slot_to_begin_posix_time a public function
2023-08-11 20:05:22 -04:00
microproofs
2f7784f31e
chore: update changelog
...
expecting a type on List<Data> from data now only checks that type is a list and not each element
2023-08-10 23:01:46 -04:00
microproofs
eda388fb29
test(aiken-lang): add a new test for list edge case in when clause patterns
2023-08-08 20:47:35 -04:00
microproofs
252f68de17
fix clippy
2023-08-07 19:08:18 -04:00
microproofs
367dabafb5
fix: update last 2 tests for new recursion optimization
2023-08-07 19:06:00 -04:00
Pi Lanningham
f464eb3702
Cargo fmt + clippy, with latest rust
2023-08-07 19:00:39 -04:00
Pi Lanningham
0d99afe5e2
Cargo fmt
2023-08-07 19:00:39 -04:00
microproofs
90c7753201
update tests for new recursion optmization
2023-08-07 19:00:39 -04:00
microproofs
65984ed15b
fix: move where we call the with in traverse_tree_with
2023-08-07 19:00:39 -04:00
Pi Lanningham
dba0e11ba7
Add other shadowing cases
2023-08-07 19:00:39 -04:00
Pi Lanningham
fc948f0029
Add the same optimization to dependent functions
...
I originally didn't add this because I thought this was mutually
recursive functions, which I couldn't picture how that would work;
I refactored all this logic into modify_self_calls, which maybe needs a
better name now.
Perf gain on some stdlib tests (line concat tests) is 93%!!
2023-08-07 19:00:39 -04:00
Pi Lanningham
c45caaefc8
Rudimentary implementation
...
Adds an identify_recursive_static_params; doesn't handle all shadowing cases yet
2023-08-07 19:00:39 -04:00
Pi Lanningham
09f889b121
Add codegen for recursive statics case
...
We also flip the recursive_statics fields to recursive_nonstatics; This makes the codegen a little easier. It also has a hacky way to hard code in some recursive statics for testing
2023-08-07 19:00:39 -04:00
Pi Lanningham
586a2d7972
Add recursive_static_params to AIR
...
Any methods to a recursive function that are unchanged and forwarded
don't need to be applied each time we recurse; instead, you can
define a containing lambda, reducing the number of applications
dramatically when recursing
2023-08-07 19:00:39 -04:00
microproofs
1d9878c5ee
fix: code gen tests now up to date using trace
...
fix: Formatter should take ErrorTerm and return "fail"
fix: fail with no reason should just return ErrorTerm
2023-08-07 12:02:44 -04:00
microproofs
624fdee9ea
keep traces in tests
2023-08-07 12:02:44 -04:00
microproofs
36c80f36c1
fix tests
2023-08-07 12:02:44 -04:00
microproofs
29599879b2
one minor tail fix in clause pattern
2023-08-07 12:02:44 -04:00
microproofs
6a1b2db698
use retain instead of position
2023-08-07 12:02:44 -04:00
microproofs
7bf22fa58b
fix multivalidator issue
2023-08-07 12:02:44 -04:00
microproofs
281a8363c0
fixes to tuples and usage of discard.
...
Also a fix to tail and its type in when list pattern matches
2023-08-07 12:02:44 -04:00
microproofs
bfa4cc2efc
fix: some function dependency tree path was not being updated in order
...
fix: revert to old implicit way of casting to data for now
2023-08-07 12:02:44 -04:00
microproofs
a45ff692a6
last changes for today
2023-08-07 12:02:44 -04:00
microproofs
db79468435
remove old stuff
2023-08-07 12:02:44 -04:00
microproofs
aca79bd728
remove warning
2023-08-07 12:02:44 -04:00
microproofs
3189a60bdb
fixes to how we sort dependencies.
...
Also update dependency path based on a functions path.
2023-08-07 12:02:44 -04:00
microproofs
80b950b8aa
fix edge case with assign and pattern matching
2023-08-07 12:02:44 -04:00
microproofs
186e1235fd
checkpoint
2023-08-07 12:02:44 -04:00
microproofs
1ee7492f1f
fix tuple clause
2023-08-07 12:02:44 -04:00
microproofs
49a0a91103
fix tests again
2023-08-07 12:02:44 -04:00
microproofs
f5c7d222aa
optmization fix
2023-08-07 12:02:44 -04:00
microproofs
5aecb96668
constants are back. I had broke them when switching how data casting works
2023-08-07 12:02:44 -04:00
microproofs
0b8266dfd1
some type conversion fixes
2023-08-07 12:02:44 -04:00
microproofs
02948616cd
some more fixes involving clauses
2023-08-07 12:02:44 -04:00
microproofs
a689b8748f
fix: working on minor edge cases
...
fix: zero arg function dependencies should not count as hoisted
fix: tuple index was receiving the wrong type
2023-08-07 12:02:44 -04:00
microproofs
4e3ced5b75
fix and clean up tests and handle
...
one edge case on rearrange clauses
2023-08-07 12:02:44 -04:00
microproofs
018453f6b1
fix expect on tuple type using the wrong internal type
2023-08-07 12:02:44 -04:00
microproofs
f03ed41e03
fix some unnecessary lambdas in assign
2023-08-07 12:02:44 -04:00
microproofs
03dd13dc7d
fixing list condition edge cases and clean up rearrange list clauses
2023-08-07 12:02:44 -04:00
microproofs
e8fa8f5423
fixing list clause issues
2023-08-07 12:02:44 -04:00
microproofs
c6f90a999b
checkpoint
2023-08-07 12:02:44 -04:00
microproofs
389699f485
fix to subject type for assignment on single clause
2023-08-07 12:02:44 -04:00
microproofs
dcb3a9b45b
some type and expect fixes
2023-08-07 12:02:44 -04:00
microproofs
3545bad3c4
fix typing to constr
2023-08-07 12:02:44 -04:00
microproofs
52ebc9b6c1
some more fixes
2023-08-07 12:02:44 -04:00
microproofs
58b327e5b3
fixing bugs and edge cases
2023-08-07 12:02:44 -04:00
microproofs
2f4319f162
fix: tuples and list patterns had a few issues
2023-08-07 12:02:44 -04:00
microproofs
960a15c4ec
checkpoint - fixing tests and stuff
2023-08-07 12:02:44 -04:00
microproofs
72b6f0f847
all but six tests passing
2023-08-07 12:02:44 -04:00
microproofs
6eeb282dee
Now code gen is finished and we just have testing
2023-08-07 12:02:44 -04:00
microproofs
518bea5be4
feat: fixed up generate and generate test
...
last step is checking on uplc code gen
2023-08-07 12:02:44 -04:00