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
rvcas
f7313ee61a
feat: some parsing for comments
2022-11-16 14:28:02 -05:00
Kasey White
f10c78d800
feat: when statements with field access now work
2022-11-16 13:11:24 -05:00
rvcas
57df303eae
feat(aiken_stdlib): add validity_range
2022-11-16 13:10:55 -05:00
KtorZ
5412bff9da
Continue defining ScriptPurpose in the standard lib.
2022-11-16 13:10:55 -05:00
rvcas
8200afa00e
feat(aiken_stdlib): add Hash alias and ScriptPurpose
2022-11-16 13:10:55 -05:00
KtorZ
f63da1a367
Draft a few more core types for ScriptContext / Transaction
...
Interesting points:
- We don't have tuples yet, so we fake it until we make it.
- Aliases are 'order-sensitive', especially if an alias uses another not-yet-declared alias.
2022-11-16 13:10:55 -05:00
rvcas
771e011630
feat(aiken_stdlib): add script context type
2022-11-16 13:10:55 -05:00
rvcas
bff99b0cf2
feat: publish errors as lsp diagnostic messages
2022-11-15 17:44:50 -05:00
Kasey White
2cac7963c3
feat: add complex function composability. Minor scope changes
2022-11-14 14:13:21 -05:00
Kasey White
d11b8858ba
clean up some unused parts in created hashmaps
2022-11-12 20:57:44 -05:00
Kasey White
b450c41438
finish up binops for code gen
2022-11-12 20:57:44 -05:00
Kasey White
a3935c5df7
almost done data constr creation
2022-11-11 20:24:21 -05:00
KtorZ
98f90a572f
Add is_empty, preprend to standard lib / bytearray
2022-11-10 17:41:39 -05:00
rvcas
9f374d9431
feat: add length and concat to aiken/bytearray
2022-11-10 17:41:39 -05:00
KtorZ
b7edb7e584
Draft first standard module for ByteArray
2022-11-10 17:41:39 -05:00
rvcas
c9da049712
feat: rework how modules are loaded
2022-11-10 17:41:39 -05:00
rvcas
e421b49ab2
chore: forgot to commit the script
2022-11-08 22:21:07 -05:00
rvcas
7e0767ef74
feat: output build assets
2022-11-08 22:21:07 -05:00