microproofs
cd726b561e
feat: add removal of discard lets
...
chore: Name change for AirTree sequence
feat: finish up assignment constructor and list for airtree builder
2023-08-07 12:02:44 -04:00
microproofs
59362e3d8c
feat: almost done assignment have tuple and constr left
...
feat: modified the AirTree structure to have statements, sequences, and expressions
feat: changed the hoist_over function to be universal
2023-08-07 12:02:44 -04:00
microproofs
65bb7e48e2
feat: start on build assignment
...
feat: implement assignment hoisting
2023-08-07 12:02:44 -04:00
microproofs
c359bd35d7
feat: update tree to allow for let hoisting
...
feat: start on build for when expressions
feat: add builder methods for AirTree
2023-08-07 12:02:44 -04:00
microproofs
83ade9335f
feat: implement most of airtree build
2023-08-07 12:02:44 -04:00
microproofs
5e097d42ba
feat: add AirTree types and builder functions
2023-08-07 12:02:44 -04:00
Olof Blomqvist
d25bb9ae60
format
2023-08-04 14:56:16 -04:00
Olof Blomqvist
4e4a477ff1
meh
2023-08-04 14:56:16 -04:00
Olof Blomqvist
17eef195a9
fix diagnostics and formatting on windows vscode
2023-08-04 14:56:16 -04:00
rvcas
266b6bbb7d
fix(exhaustiveness): for constructor use correct name because import aliases
2023-08-03 16:28:47 -04:00
rvcas
60ac8ab591
fix(exhaustiveness): adjust helper method to get contructors properly
2023-08-03 16:14:42 -04:00
KtorZ
675b737898
Check exhaustiveness behavior on pattern guards.
2023-08-02 10:40:59 +02:00
KtorZ
4f7f39292d
Fix subtle bug in pattern rendering
...
When rendering missing or redundant patterns, linked-list would
wrongly suggest the last nil constructor as a pattern on non-empty
list.
For example, before this commit, the exhaustivness checker would yield:
```
[(_, True), []]
```
as a suggestion, for being the result of being a list pattern with a
single argument being `(_, True) :: Nil`. Blindly following the
compiler suggestion here would cause a type unification error (since
`[]` doesn't unify with a 2-tuple).
Indeed, we mustn't render the Nil constructor when rendering non-empty
lists! So the correct suggestion should be:
```
[(_, True)]
```
2023-08-02 10:31:35 +02:00
KtorZ
00b255e960
Remove now-dead code.
2023-08-02 09:22:21 +02:00
rvcas
f3cab94ae1
test(check): a bunch of tests for the new exhaustiveness stuff
2023-08-01 21:13:50 -04:00
rvcas
75e18d485d
fix: redundant might be wildcard which doesn't match technically
2023-08-01 21:13:50 -04:00
rvcas
a6b230aad4
fix: exhaustiveness on types from other modules
2023-08-01 21:13:50 -04:00
rvcas
7e531d0da1
fix: wrong var for name in UnknownModule error
2023-08-01 21:13:50 -04:00
rvcas
b6ac39f322
feat(exhaustiveness): show both clauses in redundant error
2023-08-01 21:13:50 -04:00
rvcas
ef2fc57ca9
feat(exhaustiveness): check tuple patterns
2023-08-01 21:13:50 -04:00
rvcas
f1100e901d
feat(exhaustiveness): pretty print missing patterns
2023-08-01 21:13:50 -04:00
rvcas
de2791fe82
feat(tipo): add new error for redundant clauses
2023-08-01 21:13:50 -04:00
rvcas
0061bcf78d
feat: add support for list patterns
2023-08-01 21:13:50 -04:00
rvcas
e8a71cd63b
chore: rename usefulness module
2023-08-01 21:13:50 -04:00
rvcas
03efb46e6f
feat(exhaustiveness): algorithm U borrowed from elm
2023-08-01 21:13:50 -04:00
microproofs
55887d3a45
fix: decode should always print to textual
2023-08-01 00:47:29 -04:00
Cainã Costa
622b0d51b0
chore: update flake
2023-07-27 10:23:10 -04:00
Cainã Costa
acbbcc7f72
chore[nix]: remove unused cargoBuildFlags
...
We are overriding the buildPhase, so no need to have that anymore.
2023-07-27 10:23:10 -04:00
Cainã Costa
529749f204
feat[nix]: add cargo-insta
...
It was not packaged before on nixpkgs, it is now, so let's use it.
2023-07-27 10:23:10 -04:00
Cainã Costa
a1d7a29482
chore: remove unused deno dependency
2023-07-27 10:23:10 -04:00
Cainã Costa
c4810e7035
fix: use pure mkShell for devShell
...
For some reason, having mkShell with the interface they used makes the
environment not consistent. This changes fixes it.
2023-07-27 10:23:10 -04:00
Cainã Costa
49cc76cf77
chore: cargo fmt
2023-07-25 14:00:29 -04:00
Cainã Costa
a0f0c20f03
feat: add completions to generated nix package
2023-07-25 14:00:29 -04:00
Cainã Costa
2cecb099d7
feat: add a generator for shell completions
2023-07-25 14:00:29 -04:00
Cainã Costa
eac27eff41
feat: add nix overlay
...
This allows for easier usage of aiken on both NixOS and home-manager
setups, without having to add them to the main nixos repository.
2023-07-25 00:30:36 -04:00
rvcas
152e847e26
chore: no longer need this env var
2023-07-24 10:30:02 -04:00
Cainã Costa
d19a39239d
fix: fix clippy error
2023-07-24 10:24:37 -04:00
Cainã Costa
079afa0d8c
feat: infer crate version from Cargo.toml
...
We should never have to update flake.nix on release ever again!
2023-07-24 10:24:37 -04:00
Cainã Costa
36cf09ab26
feat: use correct package when building
2023-07-24 10:24:37 -04:00
Cainã Costa
00e9dc3583
chore: add metadata to nix recipe
2023-07-24 10:24:37 -04:00
Cainã Costa
6768a26e5e
chore: reduce dependencies to build aiken
...
We don't need the whole of openssl to build, only the headers. It will
still be installed because we need it to run.
2023-07-24 10:24:37 -04:00
Cainã Costa
ce03576a52
chore: update aiken version on nix recipe
2023-07-24 10:24:37 -04:00
Pi Lanningham
27c0f25606
Add a blueprint hash command
...
Similar to blueprint address and blueprint policy, this just prints the
hash of the validator; useful if you need the hash, and you don't want
to pipe the address to a bech32 decoder and juggle the hex.
2023-07-21 22:57:31 -04:00
rvcas
be7a441205
fix(uplc): pair type formatting closes #680
2023-07-19 13:49:05 -04:00
rvcas
1d1403816a
chore: add stats to readme
2023-07-18 19:28:07 -04:00
rvcas
2253e29d42
chore: commit acceptance test plutus files
2023-07-17 17:34:00 -04:00
rvcas
97acd6d7bd
chore: Release
2023-07-15 21:37:10 -04:00
rvcas
77a627817b
chore: prepare changelog for release
2023-07-15 21:34:41 -04:00
rvcas
1b8e94fe32
feat: expect boolean sugar
2023-07-15 20:50:02 -04:00
rvcas
d009358266
chore: update changelog
2023-07-15 20:08:16 -04:00