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