Commit Graph

52 Commits

Author SHA1 Message Date
752ab8212c Split BigIntType out of IntType and switch to using enums for the size
of ints/nums
2024-08-18 11:49:51 -04:00
d08f795794 Partially working first draft of bigints 2024-08-13 01:30:25 -04:00
d2f4d07585 Support channels with maximum size 2024-08-11 15:04:22 -04:00
2ecb5fe885 Add channels and threads 2024-08-11 14:47:34 -04:00
b37bd70b60 For tables, deprecate support for square bracket indexing and .default
values, replacing them with a `:bump()` function for tables with numeric
values. This means that counters can be implemented easily without the
need to mask complexity.
2024-08-10 16:03:41 -04:00
8d3d591312 Add Sets to the language 2024-08-10 15:15:38 -04:00
b2e752ee32 Replace heap_str with GC_strdup 2024-07-26 13:30:24 -04:00
445f79cb70 Add iterator functions 2024-07-13 17:17:58 -04:00
6a105fbd80 Add 'defer' 2024-07-04 18:00:01 -04:00
9d9fe12987 Add !! statement for printing text 2024-07-04 16:23:05 -04:00
f391c929e5 Add math metamethods (__add, __sub, etc.) 2024-07-01 11:12:00 -04:00
dab2c399f1 Split import/use into separate concepts 2024-06-13 13:17:51 -04:00
5d682df66c Remove unused fields on AST 2024-06-13 13:03:13 -04:00
8c7d530080 Split header compilation into a separate function 2024-06-06 16:28:53 -04:00
1df26851d7 Add syntax for "inline C(...)" 2024-05-18 16:31:34 -04:00
02fe49a764 Deprecate interfaces (RIP) 2024-05-12 20:13:19 -04:00
3481042259 Simplify interfaces by requiring all functions are pointer methods 2024-05-12 15:56:24 -04:00
d143c72b22 WIP, but functional interfaces 2024-05-12 13:50:06 -04:00
c2daf6a928 Clean up 'when' syntax 2024-05-01 13:53:51 -04:00
2e27b88c1b Improved syntax for optionals 2024-04-30 13:18:47 -04:00
fbb25decf0 Support struct literals as constants 2024-04-23 12:50:30 -04:00
e98f6854f5 Use leading underscore for file-local variables and functions instead of
"private" keyword
2024-04-17 13:44:01 -04:00
4f514378ac Fix corecursive functions and global variables 2024-04-10 11:49:43 -04:00
c73e96ff91 Add comparison operator <> and array method to sort by a custom
comparison function
2024-04-02 13:08:06 -04:00
135e23094c Improve codegen for table/array iteration by inlining the iteration
macros
2024-03-26 14:02:48 -04:00
1c9d47c29f Print ASTs as XML instead of janky custom syntax 2024-03-24 19:04:57 -04:00
5157988efa Implement 'extern' functionality 2024-03-24 15:06:59 -04:00
a47bd2d569 Improvements to module imports 2024-03-19 23:29:32 -04:00
ced54c2919 More file comments 2024-03-18 12:49:38 -04:00
9932841530 Improve comprehensions for both arrays and tables 2024-03-17 14:46:36 -04:00
a33f730617 Rearranging some files 2024-03-10 00:03:21 -05:00
cbdd357b41 Deprecate secret langs (just use one-member structs) 2024-03-09 19:02:13 -05:00
2b83ab279d Add langs to the language 2024-03-09 18:22:12 -05:00
e29aa52460 Struct and enum methods and static members 2024-03-04 13:51:47 -05:00
8fab88c56f Rename Str -> Text 2024-03-03 18:15:45 -05:00
4dc70c84d4 First working method calls 2024-02-29 13:49:24 -05:00
741617a17e Add for-else block 2024-02-25 16:02:36 -05:00
106704b956 Improve enums with metamethods 2024-02-24 15:24:44 -05:00
9aec32149f Code cleanup for KeywordArg 2024-02-23 12:50:01 -05:00
2ecd8e11fd Implement 'when' statement for matching on enums 2024-02-22 12:45:12 -05:00
eabff011ea Add in '#' operator for length 2024-02-18 01:27:25 -05:00
d46925dbfa Cleanup of builtins 2024-02-17 19:32:30 -05:00
de3eeacfa0 Major cleanup 2024-02-17 16:56:19 -05:00
853b8e505e Add secret structs 2024-02-13 20:27:19 -05:00
2c5401aaf7 Deprecate Char type 2024-02-12 00:41:49 -05:00
79795096e7 Rename sss_* to just * 2024-02-11 19:06:42 -05:00
37a0493b59 String literals as cords 2024-02-11 15:31:30 -05:00
4e545c6798 Better string parsing. 2024-02-10 15:23:06 -05:00
930c09f46d More features and progress 2024-02-08 00:52:18 -05:00
ee0f45e295 Rename type AST nodes 2024-02-05 13:22:30 -05:00