Commit Graph

58 Commits

Author SHA1 Message Date
d1b2e9f598 Disallow 'use' statements that aren't top level 2024-09-04 13:48:26 -04:00
61e482f6f3 Initial WIP first past 2024-09-02 18:47:39 -04:00
ad51b208b4 Overhaul of import syntax. Now everything uses use: use foo, `use
./foo.tm`, `use <foo.h>`, `use libfoo.so`
2024-08-22 14:02:48 -04:00
967b649da2 Deprecate # operator in favor of .length and fix up some issues 2024-08-18 20:39:57 -04:00
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
6aabed4fcc Fix some COW bugs for arrays/tables/sets 2024-08-12 17:44:05 -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
6d3d104363 Overhaul of operator metamethods 2024-08-10 20:50:15 -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
445f79cb70 Add iterator functions 2024-07-13 17:17:58 -04:00
4d3ea3f73e Check for newline between statements in blocks 2024-07-04 18:45:04 -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
38622ccbec Change metamethod names 2024-07-04 13:40:09 -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
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
3f10460a6e Support loading imports as top-level statements 2024-04-21 11:22:11 -04:00
ccb9e36704 Fix empty string check 2024-04-10 11:54:09 -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
04d9adc813 Switch naming convention to use '$' in symbols more 2024-03-29 12:54:31 -04:00
135e23094c Improve codegen for table/array iteration by inlining the iteration
macros
2024-03-26 14:02:48 -04:00
59b62035c1 Fix xml for Stop 2024-03-26 13:46:59 -04:00
047eb93fa8 More XML fixes 2024-03-26 12:45:34 -04:00
a30f588378 Fix XML output 2024-03-26 12:44:53 -04:00
1c9d47c29f Print ASTs as XML instead of janky custom syntax 2024-03-24 19:04:57 -04:00
a47bd2d569 Improvements to module imports 2024-03-19 23:29:32 -04:00
9932841530 Improve comprehensions for both arrays and tables 2024-03-17 14:46:36 -04:00
ecf425fb9a Rearrange expression/statement compilation code 2024-03-14 13:28:30 -04: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
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
9aec32149f Code cleanup for KeywordArg 2024-02-23 12:50:01 -05:00
9e2645ade7 Fix up keyword args and default args 2024-02-22 22:15:09 -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
c678acfb19 Quote strings in AST debug strs 2024-02-17 23:22:23 -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