f66f8ad711
Add serialization and deserialization
2024-11-29 18:09:12 -05:00
4b5e4cd1f2
Change how types handle metamethods
2024-11-29 12:55:14 -05:00
0b0e0a0a1d
Support promoting values to readonly views
2024-11-28 14:14:17 -05:00
646b35e42d
Better automatic promotion for function args
2024-11-26 13:54:55 -05:00
971b72fa25
Fix for empty constructors
2024-11-25 16:03:13 -05:00
3e23ea6a67
Improve handling of update assignments
2024-11-25 14:57:58 -05:00
369c83e8c5
Perform NONE-checking on /= and *= operations for nums
2024-11-25 14:43:47 -05:00
a38161179b
Cleaner None-handling
2024-11-24 16:49:26 -05:00
d4b10514fb
Clean up some more null->none renames and fix the documentation. Also
...
change the literal syntax to `NONE:T` instead of `!T`
2024-11-24 16:36:27 -05:00
1e3fb8a2c0
Rename "NULL" to "NONE"
2024-11-24 16:18:21 -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
a4d11f51ff
Fixes for 'if' blocks with nested 'else if' that declare variables
2024-11-12 00:04:56 -05:00
5b8f7179ad
Bugfix for pointer iterations
2024-11-09 17:57:02 -05:00
0df908f55f
Support iterating over pointers to collections again
2024-11-09 17:54:32 -05:00
145a078387
Make the compiler stricter about not promoting local value variables to
...
pointers
2024-11-09 17:26:01 -05:00
8dd51a113e
Bugfix integer literal demotion in assignment statements
2024-11-09 16:59:34 -05:00
898bee1581
Introduce a Match
struct to represent pattern matching results, which
...
improves the usability of a lot of the APIs. Also bugfix some issues
with ranges.
2024-11-09 16:27:54 -05:00
7a4f2e73ad
Rename from_text()
to parse()
2024-11-09 15:11:11 -05:00
5d35f28633
Improve reductions so they work better nested and also have bespoke code
...
optimized for min/max and argmin/argmax.
2024-11-08 14:10:19 -05:00
bd3df66165
Fix up some stuff with boolean operators and reductions
2024-11-07 13:27:09 -05:00
b8d7eabc02
Deprecate bit-width integer/num literals in favor of using type
...
constructors
2024-11-05 15:18:32 -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
dc7289b239
Fix for optional langs
2024-11-04 01:24:28 -05:00
b69d14b894
Add some missing functionality for Bytes
2024-11-04 01:12:37 -05:00
fc9a6f1416
Add RNGs to the language
2024-11-03 22:37:48 -05:00
7ccb7a8a9b
Use an RNG parameter for array:random(), array:shuffle(),
...
array:shuffled()
2024-11-03 16:10:03 -05:00
39a58bc129
Clean up behavior and syntax for unsigned bit shifts (<<<, >>>)
2024-11-03 16:06:26 -05:00
3743913ce2
Add unsigned integer shifts
2024-11-03 15:48:13 -05:00
f656c9eb26
Better error messaging for binops and support for bit shifting by an
...
integer literal (without a bit size)
2024-11-03 15:15:03 -05:00
078b443185
Add a repeat
keyword
2024-11-03 12:20:53 -05:00
d905fa4888
Minor fix
2024-11-03 11:25:18 -05:00
92a593b80f
Support reductions for comparison operators like == and <
2024-11-02 22:34:35 -04:00
0b7a0dd043
Change reducers to use (OP: ...) syntax and return an optional value
2024-11-02 20:22:19 -04:00
e0fb49376b
Fix type members not appearing in headers for declared values
2024-10-30 14:28:20 -04:00
de3628c5b5
Fix for methods not appearing in headers
2024-10-30 14:27:02 -04:00
fb683a2b1b
Organize typedef headers so the typedefs come before the namespace
...
members
2024-10-30 14:02:34 -04:00
9ebb039a81
Fix up some GCC compiler flag options for LTO and inlining
2024-10-29 23:14:31 -04:00
63a5032ca0
Disallow mutation of read-only views
2024-10-27 20:35:30 -04:00
41c0ea851a
Deprecate "&" for stack references
2024-10-27 20:35:12 -04:00
df258c1773
Remove an unnecessary ARRAY_COPY()
2024-10-27 19:39:34 -04:00
71d6787541
Bugfix: for array:find() and array:sorted() and array:binary_search(),
...
do an ARRAY_COPY() if a user closure is being passed in, because the
closure could mutate the array and the semantics of those functions
should be to return information based on a snapshot
2024-10-27 19:33:28 -04:00
67702b2d77
Fix issue with non-ID chars in filenames
2024-10-10 01:09:17 -04:00
a2490f4a50
Clean up codegen for when
statements
2024-10-09 21:01:43 -04:00
074cf22ad4
Change function syntax from func(args)->ret
to func(args -> ret)
2024-10-09 13:26:28 -04:00
7c853f83c9
Fix closure handling behavior for defer
so that it can mutate
...
closed-over variables.
2024-10-09 00:45:52 -04:00
fcbdf18315
Bugfix for defer
using enclosing scope
2024-10-09 00:36:00 -04:00
fc0ad68b50
Bugfix for reductions over conditional comprehensions that have no values.
2024-10-08 21:46:09 -04:00
839c1983a0
Reduce padding needed for optional types and clean up some redundant
...
type padding
2024-10-08 21:10:36 -04:00