Commit Graph

173 Commits

Author SHA1 Message Date
rvcas 84da69411d chore: fix test 2022-12-04 21:12:29 -05:00
rvcas f2c359f9d5 test(parser): add record creation tests 2022-12-04 21:12:29 -05:00
rvcas 85f839abe4 feat: support punning in record updates 2022-12-04 21:12:29 -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 1c3511b073 insert def should run after all sequences have run 2022-11-24 17:51:49 -05:00
Kasey White 6babebde28 feat: support self recursion functions and fix making constrs 2022-11-24 15:19:32 -05:00
rvcas ba8855add9 fix: implicit discard in list patterns 2022-11-24 10:06:54 -05:00
rvcas 27e0286d01 fix: most places should allow trailing comma 2022-11-23 21:09:06 -05:00
rvcas c07b9a1a81 feat: allow assignments to be cast to other types 2022-11-23 21:09:06 -05:00
rvcas 34d7a28351 feat: add check keyword and new assignment syntax 2022-11-23 21:09:06 -05:00
Kasey White 6687b9fe4c add forces to pair usage and fix clippy 2022-11-23 17:57:02 -05:00
Kasey White dc510b1c7a feat: finish list deconstruct 2022-11-23 17:57:02 -05:00
Kasey White e6f6d8a42d small edge case to fix and some ordering to go 2022-11-23 17:57:02 -05:00
rvcas 1de2640a48 feat: list patterns 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 0358952984
Release 0.0.26
aiken@0.0.26
aiken-lang@0.0.26
aiken-lsp@0.0.26
aiken-project@0.0.26

Generated by cargo-workspaces
2022-11-23 00:31:24 -05:00
Kasey White 74712711c4 include when deconstructor discard 2022-11-20 15:42:12 -05:00
Kasey White d4f3eafc22 refactor away from tuples 2022-11-20 15:42:12 -05:00
rvcas 89153a4d82 allow single var patterns to double as a label in records 2022-11-17 12:56:03 -05:00
rvcas d94ae82901
fix: none does not need a type variable 2022-11-16 21:41: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 132af027dc feat(aiken-lang): add doc, module, and regular comment support 2022-11-16 14:28:02 -05:00
rvcas f7313ee61a feat: some parsing for comments 2022-11-16 14:28:02 -05:00
rvcas 00e5f99304 feat: pull comment tokens out of the Iter before parsing 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
Kasey White 8d1e73bbea checkpoint 2022-11-16 13:11:24 -05:00
rvcas bff99b0cf2 feat: publish errors as lsp diagnostic messages 2022-11-15 17:44:50 -05:00
rvcas f089eff97d
Release 0.0.25
aiken@0.0.25
aiken-lang@0.0.25
aiken-lsp@0.0.25
aiken-project@0.0.25
uplc@0.0.25

Generated by cargo-workspaces
2022-11-14 18:04:19 -05:00
rvcas 3f952cdf0e feat: add new Data type to prelude and allow it to unify with any user defined type 2022-11-14 15:09:56 -05:00
Kasey White 2cac7963c3 feat: add complex function composability. Minor scope changes 2022-11-14 14:13:21 -05:00
Kasey White 491c13f3aa chore: name_field_label should return actual constant for bytearray and int 2022-11-14 14:13:21 -05:00
Kasey White aa0f258ea2 add pipelines functionality 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 a73fc345fe clippy fix 2022-11-11 20:24:21 -05:00
Kasey White d0463b3218 missing into on a term 2022-11-11 20:24:21 -05:00
Kasey White c36fa8cee5 fix issue with scope for data creation and wrap program with ifthenelse 2022-11-11 20:24:21 -05:00
Kasey White a3935c5df7 almost done data constr creation 2022-11-11 20:24:21 -05:00
rvcas 4a95fc5588 chore: fix parser tests 2022-11-10 17:41:39 -05:00
KtorZ 2e5406afa3 Rename 'scripts' as 'validators' across the codebase. 2022-11-10 17:41:39 -05:00
rvcas 01e91b9fe5 chore: deal with clippy warnings 2022-11-10 01:27:18 -05:00
rvcas c4f2a1ffec fix: weird test error after rebase 2022-11-08 22:21:07 -05:00
rvcas 7e0767ef74 feat: output build assets 2022-11-08 22:21:07 -05:00
rvcas 4db0c93061 chore: clean up warnings 2022-11-08 22:21:07 -05:00
rvcas 3787cce275 chore: fix some stuff after rebase 2022-11-08 22:21:07 -05:00
Kasey White 6c6aefd1c4 get basic when conditions to work 2022-11-08 22:21:07 -05:00
Kasey White 6950b66b55 checkpoint commit 2022-11-08 22:21:07 -05:00
Kasey White 28697586f2 remove some warnings and start on when 2022-11-08 22:21:07 -05:00
Kasey White 805bf19081 Got nested field access working efficiently. Will clean up code soon. 2022-11-08 22:21:07 -05:00
Kasey White e3fa9ac105 checkpoint commit 2022-11-08 22:21:07 -05:00
Kasey White 9864a3fe31 figured out the recursion based uplc terms to get item from a list 2022-11-08 22:21:07 -05:00
Kasey White ad4a5e927d starting on field access in aiken 2022-11-08 22:21:07 -05:00
Kasey White 3cafb2bcbe checkpoint commit 2022-11-08 22:21:07 -05:00
Kasey White ffa78e4c30 work out some initial direction for code gen 2022-11-08 22:21:07 -05:00
rvcas 4130e0f2c3 feat: validate if scripts return Bool 2022-11-08 22:21:07 -05:00
rvcas d830060683
fix: tests 2022-11-05 18:27:02 -04:00
rvcas 3a653b6624
chore: all dead code till we sort out doc comments 2022-11-05 18:20:23 -04:00
rvcas 7092673c45
feat: if expression formatting 2022-11-05 17:53:11 -04:00
rvcas 809d5ea5c5
fix: record formatting 2022-11-05 17:28:32 -04:00
rvcas 9d14acbe0a
fix: when formatting and add some methods to Project::Error 2022-11-05 16:23:46 -04:00
rvcas 14724f924c
fix: weird extra space above definitions 2022-11-05 15:42:53 -04:00
rvcas 4cad053e15
fix: capture variables are a bit different 2022-11-05 15:35:18 -04:00
rvcas cba7a6f46e
feat: bring over the formatter from gleam 2022-11-05 15:35:11 -04:00
rvcas 3df275043a
Release 0.0.24
aiken@0.0.24
aiken-lang@0.0.24
aiken-project@0.0.24
uplc@0.0.24

Generated by cargo-workspaces
2022-11-04 13:56:15 -04:00
rvcas c4db8c951f
Release 0.0.23
aiken@0.0.23
aiken-lang@0.0.23
aiken-project@0.0.23
uplc@0.0.23

Generated by cargo-workspaces
2022-11-03 20:27:03 -04:00
rvcas 1b6e5d262f
Release 0.0.22
aiken@0.0.22
aiken-lang@0.0.22
aiken-project@0.0.22
uplc@0.0.22

Generated by cargo-workspaces
2022-10-31 13:32:54 -04:00
rvcas 819256df99 feat: wrap up adding uplc builtins for now 2022-10-25 18:52:27 -04:00
rvcas d5d2ba9cd7 feat: start creating aiken/builtin module 2022-10-25 18:52:27 -04:00
rvcas 825783ca61 feat: typecheck If expressions 2022-10-24 00:09:00 -04:00
rvcas 5244e58c9f feat: typechecking is working 2022-10-24 00:09:00 -04:00
rvcas cabc653167 feat: start expr inference 2022-10-24 00:09:00 -04:00
rvcas 81c87ab4da feat: register import, types, and values in environment 2022-10-24 00:09:00 -04:00
rvcas d0287d418b feat: add prelude 2022-10-24 00:09:00 -04:00
rvcas 4df3de0a03 feat: some boilerplate for typechecking 2022-10-24 00:09:00 -04:00
rvcas ed2ef4fa9b feat: sort modules and detect cycles 2022-10-24 00:09:00 -04:00
rvcas ce875a3c47
Release 0.0.20
aiken@0.0.20
aiken-lang@0.0.20
flat-rs@0.0.20
uplc@0.0.20

Generated by cargo-workspaces
2022-10-17 17:22:50 -04:00
rvcas da89e9902c feat: starting to get pretty error messages 2022-10-11 14:34:27 -04:00
rvcas 59d7b54473 feat: start integrating miette 2022-10-11 14:34:27 -04:00
rvcas ff26db2245 feat: start project building 2022-10-09 15:39:28 -04:00
rvcas 2896b92203
Release 0.0.19
aiken@0.0.19
aiken-lang@0.0.19

Generated by cargo-workspaces
2022-10-04 17:10:21 -04:00
rvcas 6de41e64be feat: add simple check command 2022-10-04 17:09:43 -04:00
rvcas 6ef8ba5c35 feat: if expressions 2022-10-04 16:32:32 -04:00
rvcas dba82d544d feat: record update syntax 2022-10-04 16:32:32 -04:00
rvcas 3ad915cafd fix: list spread allowing no comma before spread 2022-10-04 16:32:32 -04:00
rvcas fb1ff759e1 feat: function calls and captures 2022-10-04 16:32:32 -04:00
rvcas 1b61f4b25b feat: field access 2022-10-04 16:32:32 -04:00
rvcas 34492f600c test: empty function definition 2022-10-04 16:32:32 -04:00
rvcas 512431d27f feat: anonymous functions 2022-10-04 16:32:32 -04:00
rvcas 695ac409b7 feat: assert and boolean negation 2022-10-04 16:32:32 -04:00
rvcas c7c11d1bd5 feat: finish when clauses 2022-10-04 16:32:32 -04:00
Kasey White 722dc4b477 work on adding when clause 2022-10-04 16:32:32 -04:00
Kasey White 118a5ac54e add some block parsing and a test (incomplete) 2022-10-04 16:32:32 -04:00