954ed42934
Simplify enum/struct codegen by using reusable general-purpose
...
metamethods for structs/enums instead of metamethod codegen for each struct/enum
defined.
2024-10-08 13:35:18 -04:00
6b9055db7c
Deprecate readonly pointers for now
2024-10-04 13:21:56 -04:00
35a19a2d1b
Bugfix for Int*Num typechecking
2024-10-03 13:46:59 -04:00
1a6ce0047b
Rename TypeInfo -> TypeInfo_t and fix up some typeinfo code
2024-09-30 14:39:30 -04:00
05515d8645
Add DateTime
2024-09-29 20:06:09 -04:00
7baf36e2ae
Remove dead code
2024-09-18 01:06:26 -04:00
e422079fcc
Add a Byte datatype
2024-09-15 15:33:47 -04:00
c455e7b67d
Rename builtins/ -> stdlib/
2024-09-13 20:18:08 -04:00
4380039acc
Rename builtins to use plurals when appropriate
2024-09-13 20:08:20 -04:00
34c562e88e
Move cord helper functions into their own file
2024-09-13 14:23:24 -04:00
56a4d13975
Automatic promotion to single-argument enum tags with a unique type
2024-09-12 13:05:08 -04:00
9b30945c4d
Remove old code
2024-09-11 15:02:27 -04:00
273e2f995f
Rename channel_t -> Channel_t for consistency
2024-09-11 13:57:21 -04:00
dee3742b48
Optional structs
2024-09-11 12:01:17 -04:00
bba9f1b141
Optional fixed-size ints
2024-09-11 11:08:15 -04:00
7126755275
Add optional types
2024-09-11 01:31:31 -04:00
aeed1992e9
Fix nearly every GCC warning and add __attribute__((pure/const)) where
...
appropriate
2024-09-08 17:17:15 -04:00
391c1b6bde
Rename table_t -> Table_t
2024-09-05 14:57:31 -04:00
abe45a3c25
Rename array_t -> Array_t
2024-09-05 14:56:37 -04:00
620ebeab8d
Fixing string methods
2024-09-02 20:22:13 -04:00
337aa911a9
Auto promote to C String from Text
2024-09-02 19:53:09 -04:00
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