Commit Graph

99 Commits

Author SHA1 Message Date
00a3117803 Bugfix 2024-09-02 19:07:51 -04:00
2055439be4 Variables can no longer hold function pointers, only closure_t's. This
makes error reporting easier and prevents issues where some functions
could be assigned, but not others. Also change outputs so Void returns
don't show up when displaying types, now just: `func()`
2024-08-21 00:49:22 -04:00
ccdf9d319f Bugfix 2024-08-19 15:14:00 -04:00
934b843b1c Add .text_content as a field on DSLs instead of a method 2024-08-19 14:29:58 -04:00
6f3b2c073a Add enum.tag as a way to do a boolean test for whether a value has a
particular tag or not
2024-08-18 20:58:36 -04:00
d804b09b02 Added a .length field to arrays/sets/tables, added a .max_size field to
channels, and updated the API
2024-08-18 20:28:39 -04:00
da4d07c665 Fix up some bigint logic issues 2024-08-18 12:47:29 -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
2383d73645 Correct the logic to prevent promoting nums to ints automatically 2024-08-17 15:14:45 -04:00
aaac5dff28 Integers can have heap memory 2024-08-13 14:52:27 -04:00
d08f795794 Partially working first draft of bigints 2024-08-13 01:30:25 -04:00
2ecb5fe885 Add channels and threads 2024-08-11 14:47:34 -04:00
8d3d591312 Add Sets to the language 2024-08-10 15:15:38 -04:00
16c2e3f590 Incrementally moving towards passing array entry sizes explicitly 2024-08-03 15:06:59 -04:00
9fec3a6adb Fix for reductions over iterators like (+) range(5, 10) 2024-07-13 19:58:21 -04:00
39576466a7 Add ReturnType(ret) so we can more accurately track return values for
`if` statements
2024-07-13 18:43:50 -04:00
7a741e65e6 Deprecate enum field access 2024-05-22 13:45:13 -04:00
a1d18fd422 Add C string type 2024-05-18 14:38:41 -04:00
e6297323ba Check function return type when promoting 2024-05-13 14:45:49 -04:00
02fe49a764 Deprecate interfaces (RIP) 2024-05-12 20:13:19 -04:00
e171d4a98c Fix up some promotion logic for closures 2024-05-12 19:21:44 -04:00
3c50c182a8 Typecheck method promotion for interfaces 2024-05-12 16:09:24 -04:00
4dbe046866 Add interface fields 2024-05-12 15:18:46 -04:00
d143c72b22 WIP, but functional interfaces 2024-05-12 13:50:06 -04:00
2e27b88c1b Improved syntax for optionals 2024-04-30 13:18:47 -04:00
63e6ba596a Change table syntax to {key:value} instead of {key=>value} 2024-04-13 13:39:44 -04:00
c73e96ff91 Add comparison operator <> and array method to sort by a custom
comparison function
2024-04-02 13:08:06 -04:00
adbb07fdc2 Module imports 2024-03-19 14:22:03 -04:00
a33f730617 Rearranging some files 2024-03-10 00:03:21 -05:00
2b83ab279d Add langs to the language 2024-03-09 18:22:12 -05:00
b04a1b3090 Implement lambdas and closures 2024-03-09 16:03:38 -05:00
955f047e06 First pass at lambdas/closures 2024-03-09 14:02:19 -05:00
0921f3723b Remove dead code 2024-03-09 13:11:57 -05:00
6bb1ebf031 Remove spurious promotion between structs 2024-03-08 13:04:04 -05:00
8fab88c56f Rename Str -> Text 2024-03-03 18:15:45 -05:00
bf5a725345 Definitively go with "Int" and "Num" over "Int64" and "Num64", plus add
Int__bits()
2024-03-03 13:37:05 -05:00
ec7a9e5f10 Initial pass at namespacing 2024-03-03 13:04:50 -05:00
d06c63c70c Table field access for .keys, .values, .default, .fallback 2024-02-25 14:35:25 -05:00
50fedc8f44 Fixing up structs 2024-02-24 14:29:40 -05:00
f9cc44f145 Fixing up enums 2024-02-20 13:06:03 -05:00
5ce55a6a29 Better table literals 2024-02-18 04:26:26 -05:00
bd0a618f4c Type compiling stuff 2024-02-18 02:34:39 -05:00
e5f706b258 Change syntax back to "enum(...)" and "struct(...)" 2024-02-18 02:07:12 -05:00
9564118202 Fix some more alignment issues and partial rename of Type_type 2024-02-17 22:09:44 -05:00
7355b2f7fe Change things up to use type params for all array and table methods 2024-02-17 18:38:29 -05:00
de3eeacfa0 Major cleanup 2024-02-17 16:56:19 -05:00
9901f09ca4 Syntax tweaks and cleanup 2024-02-14 13:43:23 -05:00
2c5401aaf7 Deprecate Char type 2024-02-12 00:41:49 -05:00
930c09f46d More features and progress 2024-02-08 00:52:18 -05:00