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