Commit Graph

92 Commits

Author SHA1 Message Date
be384c0caa Replace threads with generic mutexed datastructures. 2025-01-02 16:24:07 -05:00
df1b36cc27 Fix issue with cross promotion for tables with default values 2024-12-22 16:37:09 -05:00
3dd7854076 Add optimized metamethods for enums and structs that hold packed data 2024-12-22 15:53:26 -05:00
325b367a13 Support logical binary operators on optionals (promote to booleans) 2024-12-21 15:13:26 -05:00
1db70d46c6 Fix cross promotion between types with/without defaults 2024-12-18 15:21:20 -05:00
1df02db239 Fix for tables with default values not doing type equality right 2024-12-18 15:10:57 -05:00
c6c7cc7272 Revert "Deprecate "&" for stack references"
This reverts commit 41c0ea851a.
2024-12-18 14:44:37 -05:00
c5db5fef62 Fix optional promotion issue 2024-12-12 14:01:48 -05:00
7e9a976fe5 Optional promotion in comparisons 2024-12-11 13:25:00 -05:00
3a5815d4bd Improvements and fixes for assigning to table keys 2024-12-06 15:18:25 -05:00
07dd1894b7 Bugfixes for moments mixing up microseconds/nanoseconds, plus adding
accessor fields for them
2024-11-30 17:25:36 -05:00
3e23ea6a67 Improve handling of update assignments 2024-11-25 14:57:58 -05:00
52de4258e9 Better handling for NULL optional types 2024-11-24 16:41:27 -05:00
0e10313d64 Switch NaN to be identical to the null value 2024-11-24 16:13:23 -05:00
f868d02b08 Add NULL as a syntax for null values. 2024-11-21 13:00:53 -05:00
4231789b71 Rename datetime -> moment 2024-11-17 14:49:03 -05:00
2fa26e6af3 Be much more permissive about using integer literals for fixed-size ints
or nums or bytes
2024-11-04 15:24:10 -05:00
92a593b80f Support reductions for comparison operators like == and < 2024-11-02 22:34:35 -04:00
9ebb039a81 Fix up some GCC compiler flag options for LTO and inlining 2024-10-29 23:14:31 -04:00
41c0ea851a Deprecate "&" for stack references 2024-10-27 20:35:12 -04:00
074cf22ad4 Change function syntax from func(args)->ret to func(args -> ret) 2024-10-09 13:26:28 -04:00
839c1983a0 Reduce padding needed for optional types and clean up some redundant
type padding
2024-10-08 21:10:36 -04:00
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