Mateusz Czeladka
1142c6ca6d
hello world for starters
2023-01-06 13:24:15 +01:00
KtorZ
aff96d99af
Return non-zero exit code on acceptance test failure.
2023-01-06 13:10:11 +01:00
KtorZ
613fb3c957
Add new acceptance test scenario 038
2023-01-06 06:46:15 +01:00
Kasey White
88d5d1b7f7
chore: add 036 assets
2022-12-31 00:09:02 -05:00
Kasey White
3514e66234
Fix to variant name creation for dependencies.
...
Last few changes to go Tuple Index,
Assert, Check, not
change test 35 to produce intended functionality
2022-12-30 14:01:11 -05:00
KtorZ
d5d878e83c
Add acceptance test scenario: 037
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:701:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"_not", unique: Unique(1) })
```
2022-12-29 17:40:21 +01:00
KtorZ
6f8d1698fe
Add missing function 'concat' in acceptance test 034.
2022-12-29 12:13:32 +01:00
KtorZ
4f83d4fa1b
Add new acceptance test scenario: 036
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:567:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"_not", unique: Unique(17) })
```
2022-12-29 12:11:55 +01:00
KtorZ
602a6a03a8
Rename '{run, run-all}.sh' into '{run, run-all}'.
2022-12-29 12:04:37 +01:00
KtorZ
013fe886f5
Add new acceptance test scenario: 035
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-
│ project/src/lib.rs:692:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"aiken/dict_do_insert_with_map_bytearray_int_bytearray_int_data",
unique: Unique(27) })
```
2022-12-28 17:03:32 +01:00
KtorZ
77fbb3cbdb
Add new acceptance test scenario: 034
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/aiken-project/src/lib.rs:670:22
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "aiken/list_foldr_list_data_data_list_data", unique: Unique(1) })
```
2022-12-28 10:59:42 +01:00
Kasey White
010024fb95
fix: acceptance test 031
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-27 22:33:09 -05:00
Kasey White
542e39f093
feat: finish up zero arg issues with dependencies
2022-12-27 19:35:08 -05:00
Kasey White
a08c615da4
checkpoint
2022-12-27 19:35:08 -05:00
KtorZ
2e17f18846
Rework acceptance test runner
...
Show less noise, support parallel execution and make it easier to run a single one.
2022-12-27 09:29:13 +01:00
rvcas
0d0536f6c1
fix: rename test module to tests
2022-12-23 22:00:59 -05:00
KtorZ
39f5d1a86d
Make build, check and docs target directory an (optional) argument
...
Instead of being an option. Feels more natural that way.
2022-12-23 20:23:27 +01:00
KtorZ
2aa4429231
Rename Unit -> Void
2022-12-22 18:52:28 +01:00
KtorZ
757428fa7f
Add new acceptance test scenario 033
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:523:17
╰─▶ not yet implemented: Tuple indexing not implementing yet
```
2022-12-22 09:14:23 +01:00
rvcas
7867793bcd
feat: on fmt if label and name are the same only print one
2022-12-21 19:17:15 -05:00
rvcas
9028424a96
feat: rename Nil to Unit
2022-12-21 17:27:20 -05:00
rvcas
429126e38f
feat: add trace
2022-12-21 14:39:46 -05:00
KtorZ
9068c89c00
Show trace logs as part of the test output when any.
...
```
┍━ test ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
│ PASS [mem: 6370, cpu: 2591822] trace_1
│ ↳ is negative
│ ↳ is non-negative
┕━━━━━━━━━ 1 tests | 1 passed | 0 failed
```
2022-12-21 14:39:46 -05:00
KtorZ
5d459b25bd
Add new acceptance test scenario 032
...
```
Error: aiken::parser
× Parsing
╰─▶ Unexpected "try"
╭─[032/lib/test.ak:3:1]
3 │ test trace_1() {
4 │ builtin.trace("foo", True)
· ─────
5 │ }
╰────
help: Try removing it
```
2022-12-21 14:39:46 -05:00
KtorZ
414a114530
fix acceptance tests manifest.
2022-12-21 14:06:46 +01:00
rvcas
e34cbc8e7e
feat: compile deps
2022-12-20 16:32:31 -05:00
rvcas
6a0b1ce5c3
feat: start trying to use deps
2022-12-20 16:32:31 -05:00
rvcas
5bd2a9336c
feat: tons of boilerplate for fetching packages
2022-12-20 16:32:31 -05:00
Kasey White
ac14512706
feat: fix nil equals nil, and fix funcs with discard params
2022-12-20 15:40:01 -05:00
KtorZ
102bb7735e
Add new integration test scenario 031
...
```
× clamp_1 failed
help: ┍━ left ━━━━━━━━━━┑
│ (con integer 0) │
┕━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━┑
│ (con integer 10) │
┕━━━━━━━━━━━━━━━━━━┙
```
2022-12-20 04:48:03 +01:00
KtorZ
030172e1dc
Add new acceptance test scenario 030
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:1897:45
╰─▶ called `Result::unwrap()` on an `Err` value: ParseIntError { kind: InvalidDigit }
```
2022-12-20 04:37:55 +01:00
KtorZ
58c123a930
Add new intgration test scenario 029
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2395:56
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_insert", unique:
Unique(1) })
```
2022-12-20 04:21:28 +01:00
KtorZ
daa3fa5d33
Add new acceptance test scenario 028
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/builder.rs:1257:30
╰─▶ internal error: entered unreachable code
```
2022-12-20 02:55:01 +01:00
KtorZ
fec7431d11
Add new acceptance test scenario 027
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:640:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_foo", unique:
Unique(0) })
```
2022-12-20 02:32:43 +01:00
KtorZ
8bd4fd0cda
Add new acceptance test scenario
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:620:22
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text:
"test_foldr_list_int_data_list_int", unique: Unique(10) })
```
2022-12-20 02:22:04 +01:00
KtorZ
fccad9e7dd
Add new acceptance test scenario 025
...
```
help: ┍━ left ━━━━━━━━┑
│ (con unit ()) │
┕━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━┑
│ (con unit ()) │
┕━━━━━━━━━━━━━━━┙
```
2022-12-20 01:07:15 +01:00
KtorZ
f511b2f71b
Add new acceptance test scenario 024
...
```
× map2_3 failed
help: ┍━ left ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Type mismatch expected 'integer' got 'pair data data' │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Type mismatch expected 'list pair data data' got 'list data' │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
```
2022-12-19 18:55:50 +01:00
KtorZ
dbd3d3fd7d
Add new acceptance test scenario 023
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2830:32
╰─▶ called `Option::unwrap()` on a `None` value
```
2022-12-19 18:51:46 +01:00
Kasey White
421e7148d0
zero arg functions now work: test 15
2022-12-19 00:41:27 -05:00
KtorZ
a51808d549
Add new acceptance test scenario (022)
...
```
thread 'main' has overflowed its stack
fatal runtime error: stack overflo
```
2022-12-19 00:41:27 -05:00
Kasey White
2bce818110
chore: fix list insertion order, function insertion order,
...
and Inner function issues with variant
2022-12-19 00:41:27 -05:00
KtorZ
0d0e698d5e
Add new acceptance test scenario (021)
...
```
Error: aiken::check
× Checking
╰─▶ Unknown type
VerificationKey
╭─[021/lib/test.ak:4:1]
4 │ pub type PoolId =
5 │ Hash<VerificationKey>
· ───────────────
6 │
╰────
```
2022-12-19 00:41:27 -05:00
KtorZ
ed58a1cac7
Add new acceptance test scenario (020)
...
```
Error: 020/lib/test.ak
× map_2 failed
help: ┍━ left ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┑
│ Type mismatch expected 'integer' got 'data' │
┕━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━━━━━━━┑
│ (con data #d8799f0fff) │
┕━━━━━━━━━━━━━━━━━━━━━━━━┙
```
2022-12-19 00:41:27 -05:00
KtorZ
e3ea511b79
Add new acceptance test scenario (019)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2001:81
╰─▶ called `Option::unwrap()` on a `None` value
```
2022-12-19 00:41:27 -05:00
KtorZ
287fbf2e3b
Add new acceptance test scenario (018)
...
```
Error: examples/acceptance_tests/018/lib/test.ak
× or_else_2 failed
help: ┍━ left ━━━━━━━━━━━┑
│ (con data #182a) │
┕━━━━━━━━━━━━━━━━━━┙
should be equal to
┍━ right ━━━━━━━━━━┑
│ (con integer 42) │
┕━━━━━━━━━━━━━━━━━━┙
```
2022-12-19 00:41:27 -05:00
KtorZ
6e46e7562e
Add new acceptance test scenario (017)
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:596:22
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_slice", unique:
Unique(6) })
```
2022-12-19 00:41:27 -05:00
KtorZ
00b800c456
Add new acceptance test scenario (016)
...
```
Error:
× Main thread panicked.
├─▶ at /Users/ktorz/Documents/Projects/aiken-lang/aiken/crates/project/src/lib.rs:616:36
╰─▶ called `Result::unwrap()` on an `Err` value: FreeUnique(Name { text: "test_slice", unique:
Unique(7) })
```
2022-12-19 00:41:27 -05:00
rvcas
53bc9aa56f
fix: properly capture empty lines
2022-12-15 11:12:35 -05:00
KtorZ
bd956efd36
Rework acceptance test 014 to smaller reproducible scenario
2022-12-14 10:20:43 +01:00
KtorZ
7c54283e69
Add new acceptance test scenario (015)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:2388:21
╰─▶ not yet implemented
```
2022-12-14 10:20:43 +01:00
KtorZ
95df5f9137
Add new acceptance test scenario (014)
2022-12-14 09:45:26 +01:00
KtorZ
bc7c236b3b
Add new acceptance test scenario (013)
...
```
ERROR:
The provided Plutus code called 'error'
```
2022-12-14 09:45:25 +01:00
KtorZ
9c902cdf89
Add new acceptance test scenario (012)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:3413:34
╰─▶ internal error: entered unreachable code: Var {
scope: [
0,
1,
3,
24,
25,
29,
32,
],
constructor: ValueConstructor {
public: false,
variant: LocalVariable {
location: 46..62,
},
tipo: Fn {
args: [
Var {
tipo: RefCell {
value: Link {
tipo: App {
public: true,
module: "",
name: "Int",
args: [],
},
},
},
},
],
ret: App {
public: true,
module: "",
name: "Bool",
args: [],
},
},
},
name: "f",
variant_name: "",
}
```
2022-12-14 09:45:25 +01:00
KtorZ
f53caff538
Add new acceptance test scenario (011)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:4022:40
╰─▶ called `Option::unwrap()` on a `None` value
```
2022-12-14 09:45:25 +01:00
rvcas
299cd1ac24
fix: tuples
2022-12-14 09:45:25 +01:00
KtorZ
37def91fc5
Add new acceptance test scenario (010)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:688:33
╰─▶ called `Option::unwrap()` on a `None` value
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:24 +01:00
KtorZ
4217fd06b5
Add new acceptance test scenario (009)
...
Note: the problem is only present when importing a builtin explicitly.
When using a qualified import, it compiles fine.
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:3264:35
╰─▶ called `Option::unwrap()` on a `None` value
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:24 +01:00
KtorZ
adf34e9dc6
Add new acceptance test scenario (008)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:530:41
╰─▶ not yet implemented
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:24 +01:00
KtorZ
022fc36dd2
Add new (failing) acceptance test (007)
...
```
Error: aiken::check
× Checking
╰─▶ Not a function
╭─[./007/lib/test.ak:4:1]
4 │ [(a, b), ..rest] -> {
5 │ let (a_tail, b_tail) = unzip(rest)
· ──────
6 │ ([a, ..a_tail], [b, ..b_tail])
╰────
```
2022-12-14 09:45:24 +01:00
KtorZ
a62fb1905e
rename examples/tests/{a,b,c,d,e,f} into examples/acceptance_tests/00{1,2,3,4,5,6}
...
Also added a little Makefile to run them all in one go.
2022-12-14 09:45:24 +01:00
KtorZ
b294063097
Add another acceptance test (f)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:4043:46
╰─▶ not yet implemented
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:24 +01:00
KtorZ
603f4a6385
Add another failing example (e)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:1518:45
╰─▶ called `Option::unwrap()` on a `None` value
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:24 +01:00
KtorZ
572121974e
Update generic syntax in tests.
2022-12-14 09:45:23 +01:00
KtorZ
8f69a4b600
Add another failing test example (d)
...
```
Error:
× Main thread panicked.
├─▶ at crates/lang/src/uplc.rs:3264:35
╰─▶ called `Option::unwrap()` on a `None` value
help: set the `RUST_BACKTRACE=1` environment variable to display a backtrace.
```
2022-12-14 09:45:23 +01:00
Kasey White
d78e2c9c6f
feat: finish up generic match cases
2022-12-14 09:45:23 +01:00
rvcas
77386893d7
test: actually repeat
2022-12-14 09:45:23 +01:00
KtorZ
04c05f8d63
Add some tests that make the compiler panick.
2022-12-14 09:45:22 +01:00
rvcas
69db9696d6
feat: prefix tuples with hash again cause ambguity with call
2022-12-13 10:27:17 -05:00
rvcas
6dc4738b66
feat: update formatter for new changes
2022-12-12 19:22:11 -05:00
rvcas
a4f6388eca
feat: remove the need for # in front of tuples
2022-12-12 19:22:11 -05:00
rvcas
2ba712eef6
feat: start adding padding to test output
2022-12-08 19:25:28 -05:00
rvcas
e9d8e1d317
feat: print budget consumed by test
2022-12-08 19:25:24 -05:00
KtorZ
bc785673b2
Fix compilation errors for the newly introduce test & add type inference.
...
Tests are basically functions for which the return type should unify with bool. In principle, the type checker could also check that a test function has no arguments but, a test function with arguments wouldn't parse in the first place; feels a bit hacky but it works when considering the pipeline as a whole.
Note that the code generation is still to be done.
2022-12-08 19:24:20 -05:00
Kasey White
80a9b7b36a
feat: add map support and tuple deconstruction in let
2022-12-08 14:28:30 -05:00
Kasey White
2f7131e9b8
feat: add tuples and streamline conversion of types to and from data
2022-12-07 08:40:23 -05:00
rvcas
d8ff574045
chore: nuke stdlib from main repo
2022-12-06 22:26:07 -05:00
rvcas
45990f1f84
feat: unify tuples and stdlib updates
2022-12-06 22:23:40 -05:00
Kasey White
3f47a1f4b8
fix: constr issue
...
- also fixed constant parsing
- added new cbor flag to eval
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-05 22:55:57 -05:00
rvcas
7875af7d35
feat: better errors for incorrect contructor making
2022-12-05 18:11:04 -05:00
rvcas
7e6dc978a1
feat: commit latest build assets for sample
2022-12-05 14:18:44 -05:00
Kasey White
3e68204768
replace uplc with uplc_two and move structs over
2022-12-05 14:18:44 -05:00
Kasey White
0fda535c50
feat: add module constants except for tuple
2022-12-05 14:18:44 -05:00
Kasey White
de9302a877
feat: finish list destructure in when matches
2022-12-05 14:18:44 -05:00
Kasey White
f48039fd4f
Add ability to generate ir with complex constructor cases
2022-12-05 14:18:44 -05:00
Kasey White
64cbae938d
Add clause guard to IR and use it for complex clauses
2022-12-05 14:18:44 -05:00
Kasey White
044d609a24
feat: nested constr access and module funcs now work
2022-12-05 14:18:44 -05:00
Kasey White
3d3beef7d4
feat: uplc code gen for functions and minor recursion fix
2022-12-05 14:18:44 -05:00
Kasey White
8f984ad131
fix up function definitions in the IR
2022-12-05 14:18:44 -05:00
Kasey White
02ee129615
feat: function insertion IR done, code gen will be easy
2022-12-05 14:18:44 -05:00
rvcas
4129cf92c9
chore: commit assets
2022-12-05 14:18:44 -05:00
Kasey White
29a30aa61f
feat: finished when constr is for IR and code gen
2022-12-05 14:18:44 -05:00
Kasey White
3fb3a3240a
checkpoint
2022-12-05 14:18:44 -05:00
Kasey White
8b24a66b7e
add field access and list patterns are finished
...
Co-authored-by: rvcas <x@rvcas.dev>
2022-12-05 14:18:44 -05:00
Kasey White
abe29a3883
make progress on list deconstruction with IR
2022-12-05 14:18:44 -05:00
Kasey White
2a00b896fc
create ir and start to replace plutus code gen with ir
2022-12-05 14:18:44 -05:00
rvcas
9ebc836b89
feat: handle punning in a non-ambiguous way
2022-12-04 21:12:29 -05:00
rvcas
391849bf37
feat: parser improvements
...
- record creation with punning
- disambiguate if condition from record creation with punning
- split parser tests up into many smaller ones
2022-12-04 21:12:29 -05:00
rvcas
5ec93a8692
feat: format bytearrays
2022-12-01 15:28:15 -05:00
rvcas
fedafed845
feat: add module constants
2022-12-01 15:28:15 -05:00
rvcas
34c8a58391
feat: complete language tour
2022-11-30 15:35:55 -05:00