Commit Graph

544 Commits

Author SHA1 Message Date
37f3e91f6c Rename "NONE" to "none" 2024-12-07 16:04:25 -05:00
a201939a81 Use likely()/unlikely() macros and a few bugfixes for integers 2024-12-07 15:59:37 -05:00
683b0f5141 Rename some old "null" references 2024-12-07 15:28:33 -05:00
1710b30de4 Tweak to Set operations 2024-12-07 15:10:00 -05:00
3a5815d4bd Improvements and fixes for assigning to table keys 2024-12-06 15:18:25 -05:00
ca14454bb0 Bugfix for error allowing for recursive declarations 2024-12-05 13:39:49 -05:00
07dd1894b7 Bugfixes for moments mixing up microseconds/nanoseconds, plus adding
accessor fields for them
2024-11-30 17:25:36 -05:00
919e47a418 Better error messages for table[key] += ... 2024-11-30 15:54:21 -05:00
40c33987fa Bring back table[key] syntax 2024-11-30 15:50:54 -05:00
f3fc7558bb Deprecate 'array ++= item' syntax 2024-11-30 15:34:35 -05:00
357c9faa40 Fix for update assignments 2024-11-30 15:33:54 -05:00
e38ecde989 Explicitly forbid nested optional types 2024-11-30 14:59:28 -05:00
18c1ce7fd1 Fix for non-idempotent update assignments 2024-11-30 14:16:08 -05:00
a68e9a1942 Update docs and minor bugfix 2024-11-29 20:01:56 -05:00
e2fa11b7fe Rename :serialize() -> :serialized() 2024-11-29 19:39:17 -05:00
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