Commit Graph

457 Commits

Author SHA1 Message Date
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
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 6162128427 add string comparison and int comparison 2022-11-08 22:21:07 -05:00
Kasey White f6a72cc7f9 did hacky way for scope level, but now i know how it works and how to fix 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 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 cba7a6f46e
feat: bring over the formatter from gleam 2022-11-05 15:35:11 -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 a41d05f7b6 feat: change project structure 2022-10-24 00:09:00 -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 4df3de0a03 feat: some boilerplate for typechecking 2022-10-24 00:09:00 -04:00
rvcas da89e9902c feat: starting to get pretty error messages 2022-10-11 14:34:27 -04:00
rvcas 6b79eb0961 chore: split example into lib and script 2022-10-09 15:39:28 -04:00
rvcas ff26db2245 feat: start project building 2022-10-09 15:39:28 -04:00
rvcas 6de41e64be feat: add simple check command 2022-10-04 17:09:43 -04:00