Commit Graph

1892 Commits

Author SHA1 Message Date
rvcas
12e8ebdf4f chore: revert version bumps 2023-04-13 13:03:43 -04:00
Matthias Benkort
d2c8978326 Merge pull request #493 from aiken-lang/patch/cargo.nix
Update Cargo.nix
2023-04-13 17:47:03 +02:00
KtorZ
f660caedb6 [create-pull-request] automated change 2023-04-13 15:40:35 +00:00
KtorZ
067e39286d Bump versions to 1.0.0-alpha, update CHANGELOG. 2023-04-13 17:35:21 +02:00
KtorZ
00550f8ddb Add myself as co-authors for some of the project's crate
Forgot to do it before, and noticing now :D
2023-04-13 17:25:21 +02:00
KtorZ
e2c78bdd3b Add min rust-version to crates
So that people runs into better errors if they try installing from source with an 'obsolete' rust compiler.
2023-04-13 17:24:44 +02:00
KtorZ
74a7257ec9 Add some more instructions to 'blueprint apply' command help text. 2023-04-13 12:23:20 +02:00
KtorZ
3bff47cc8f Bump 'install-nix-actions' in the github workflow.
See: https://github.com/cachix/cachix-action/issues/144
2023-04-13 11:09:56 +02:00
KtorZ
4420e43bc4 Choose and install latest version on 'aikup', instead of failing. 2023-04-13 10:14:57 +02:00
KtorZ
ea83e80bf7 Add a 'list' command to aikup. 2023-04-13 10:04:24 +02:00
rvcas
0cda98a0d1 chore: remove flamegraph.svg 2023-04-13 01:28:27 -04:00
rvcas
fdce9f373e chore: remove fib.uplc file 2023-04-13 01:28:27 -04:00
rvcas
ccc450659a chore: switch discharge value back to the recursive form for simplicity 2023-04-13 01:28:27 -04:00
microproofs
564939ab61 feat
* remove more Rc's
* reconstruct Value::Builtin only when needed

Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-04-13 01:28:27 -04:00
microproofs
09a6ea51d6 feat(machine): reduce term allocations
* remove term from VBuiltin
* and also means we don't need the useless wrapping

Co-authored-by: Lucas Rosa <x@rvcas.dev>
2023-04-13 01:28:27 -04:00
rvcas
70f12d3fc5 chore: new branch with some things from the bumpalo branch 2023-04-13 01:28:27 -04:00
microproofs
fc1b8738df fix: fixed how the ir was generating for expect Void, expect Bool, let Void
add some acceptance tests for the various scenarios
2023-04-12 22:37:33 -04:00
Matthias Benkort
280284d4a1 Merge pull request #456 from aiken-lang/clause-guard-wildcard-pattern
Add new failing test case for 048 (clause guards)
2023-04-12 08:40:16 +02:00
Kasey White
1e35281650 clause guard with discard is now handled 2023-04-12 08:26:03 +02:00
KtorZ
0846fe2d5f Add new failing test case for 048 (clause guards)
It seems like we don't properly handle clause guards for wildcard
  patterns. Seems like a codegen issue here as the code type-check
  properly.
2023-04-12 08:24:18 +02:00
Kasey White
ff290bc582 add expect false test 2023-04-09 17:43:56 -04:00
Kasey White
02d57cc076 tests pass now after adding in final wrapper as air elements 2023-04-09 17:43:56 -04:00
Kasey White
e69a70f49c remove final wrapper and replace with equivalent air elements 2023-04-09 17:43:56 -04:00
Kasey White
9e95e24624 now tests are passing 2023-04-09 17:43:56 -04:00
Kasey White
efb901f3b4 fix: issue with modifying a functions dependencies and adding a function that depended on it causing infinite loops 2023-04-09 17:43:56 -04:00
Kasey White
a17ebf301f fix: now we monomorphize __expect_type functions 2023-04-09 17:43:56 -04:00
Kasey White
9d9f8a914a fix generics causing a free unique due to ordering in expect_type 2023-04-09 17:43:56 -04:00
Kasey White
581c86ed83 chore: commented code removal 2023-04-09 17:43:56 -04:00
Kasey White
4d97719e6d update blueprint tests with new hashes and script outputs 2023-04-09 17:43:56 -04:00
Kasey White
8d81345fb1 fix: diff_defined_types was not being filled if constructor had 0 args 2023-04-09 17:43:56 -04:00
Kasey White
897011e9bc misc changes 2023-04-09 17:43:56 -04:00
Kasey White
f8483da4e0 Code gen now handles expecting on validator args in the air stack.
Thus allowing us to use code gen created functions to expect on data types including recursive ones.
Some minor tweaks to the air.
Added a uplc optimization for later.
2023-04-09 17:43:56 -04:00
Kasey White
4e4eed13e1 refactor define_ir_recurse to use let else 2023-04-09 17:43:56 -04:00
Kasey White
4ff0504d58 feat: change define_ir_processor to handle code_gen_functions
Also flattened out that function by using let else
2023-04-09 17:43:56 -04:00
Kasey White
bc7b07c1d9 fix: expect_type now works on recursice constructors and validator args are now handled by air 2023-04-09 17:43:56 -04:00
Kasey White
a1b3ae52d8 fix: optimization that was being ignored 2023-04-09 17:43:56 -04:00
Kasey White
6c932bb562 expect on map and list now use a function that gets instantiated as air in code gen functions 2023-04-09 17:43:56 -04:00
Kasey White
abd97f0ade changed assert_on_list from being defined at uplc level to being defined at air level to enable proper hoisting 2023-04-09 17:43:56 -04:00
Kasey White
f4ba6b8985 fix: unused validator args had an incorrect if check 2023-04-09 17:43:56 -04:00
Kasey White
3f45b524b8 feat: unused validator args are not expect checked 2023-04-09 17:43:56 -04:00
Kasey White
8c8312a412 fix: expect true was always expecting false 2023-04-09 17:43:56 -04:00
Kasey White
ddf0fbfa0a fix: expect void now checks for unit instead of expecting data
Args in validator are now fully expected on.
Add new air FieldsEmpty to make checking for empty constructors easier
2023-04-09 17:43:56 -04:00
KtorZ
23b72e18f3 Add new acceptance test scenario: expect unary constructors.
```
  Error:
    × Main thread panicked.
    ├─▶ at crates/aiken-lang/src/gen_uplc.rs:1852:33
    ╰─▶ called `Option::unwrap()` on a `None` value
  ```
2023-04-09 17:43:56 -04:00
KtorZ
5bdf9053cf [create-pull-request] automated change 2023-04-08 10:16:09 -04:00
Matthias Benkort
ee8509956d Merge pull request #477 from aiken-lang/blueprint-json-deserializers
Blueprint schema validation
2023-04-08 10:26:11 +02:00
KtorZ
4799af3242 Rework 'blueprint apply' command and wrap up wiring up validation.
The apply command now works only from a serialized CBOR data (instead of a UPLC syntax). So it is no longer possible to specify arbitrary cbor terms through the CLI. I believe it to be an acceptable limitation for now; especially given that Aiken will never generate blueprints with non-data terms at the interface boundary.
2023-04-08 08:57:40 +02:00
KtorZ
bf222a3ea2 Fix reference JSON deserialization. 2023-04-08 08:57:40 +02:00
KtorZ
c18deecdc8 Show slightly better schema mismatch errors
Display terms as CBOR diagnostic when they are Plutus data.
2023-04-08 08:57:38 +02:00
KtorZ
176cb45524 Factor out error (schema mismatch) creation during blueprint validation. 2023-04-08 08:57:04 +02:00
KtorZ
7d6612b108 Rework parameter validation to work from 'Constant' instead of 'Term'
This simplifies the code and makes it more efficient as we no longer need to wrap and unwrap constant terms constantly.
2023-04-08 08:57:03 +02:00