Commit Graph

145 Commits

Author SHA1 Message Date
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
rvcas
0823b78bf8 feat: some new features
- tuples `#(Int, Int)`
- `trace` and `trace("text")`
2022-11-28 22:33:53 -05:00
rvcas
d5087dbcc7 fix: it's more consistent to have snakecase builtins 2022-11-24 18:36:22 -05:00
Kasey White
6babebde28 feat: support self recursion functions and fix making constrs 2022-11-24 15:19:32 -05:00
KtorZ
fc66c2611b Implement a foundation for the aiken standard library for lists. 2022-11-24 10:10:32 -05:00
rvcas
a70ebb5c32 chore: format swap file 2022-11-23 21:09:06 -05:00
Kasey White
dc510b1c7a feat: finish list deconstruct 2022-11-23 17:57:02 -05:00
Kasey White
e496591ded checkpoint 2022-11-23 17:57:02 -05:00
Kasey White
f09a3bd121 feat:list construction, no pairs yet 2022-11-23 17:57:02 -05:00
rvcas
89153a4d82 allow single var patterns to double as a label in records 2022-11-17 12:56:03 -05:00
alessandrokonrad
6c5ec9bb25 Extended ScriptContext; added Option to builtins 2022-11-16 21:34:46 -05:00
rvcas
72bf27d467 fix: better constructor pattern parsing 2022-11-16 21:30:43 -05:00
rvcas
ef9fd15e12 chore: remove loose println! 2022-11-16 14:49:06 -05:00