Commit Graph

208 Commits

Author SHA1 Message Date
41c0ea851a Deprecate "&" for stack references 2024-10-27 20:35:12 -04:00
67702b2d77 Fix issue with non-ID chars in filenames 2024-10-10 01:09:17 -04:00
074cf22ad4 Change function syntax from func(args)->ret to func(args -> ret) 2024-10-09 13:26:28 -04:00
d741763293 Disallow reductions over tables (use .keys or .values instead) 2024-10-08 23:28:20 -04:00
37192d7206 Support reductions over sets 2024-10-08 23:26:49 -04:00
839c1983a0 Reduce padding needed for optional types and clean up some redundant
type padding
2024-10-08 21:10:36 -04:00
6b9055db7c Deprecate readonly pointers for now 2024-10-04 13:21:56 -04:00
8f346b48aa Fix up some compiler flags around floating point numbers so they work
better with -Ofast and have more standardized behavior
2024-10-03 14:19:23 -04:00
ec0606091b Add datetime literal and tests 2024-09-30 13:55:55 -04:00
076f87361d Support using DateTime() as a constructor 2024-09-29 20:19:46 -04:00
ca93e6f3cb Simplify code by making name := use ... a Use AST instead of a Declare 2024-09-27 14:56:24 -04:00
ed8b8901c0 Add '$' prefix on all user code 2024-09-24 14:54:22 -04:00
800e386105 Rename from_unsafe_text to without_escaping 2024-09-24 13:26:49 -04:00
0609a26f31 Fix type promotion for :divided_by() and :scaled_by() metamethods 2024-09-24 13:17:44 -04:00
62745cda95 Use original folder names more 2024-09-22 15:07:44 -04:00
7f5af625e5 Support useing .c files and .S files (assembly) 2024-09-18 15:39:22 -04:00
7e0b1a3214 Deprecate linker directives 2024-09-18 00:43:13 -04:00
fead0cad82 Remove dead code 2024-09-18 00:30:55 -04:00
ec88848f6b Support explicit discards better by allowing multiple declared "_" vars 2024-09-18 00:30:05 -04:00
aaa51fc734 Perform topological ordering when compiling typedefs so users don't need
to think about ordering their definitions.
2024-09-17 15:17:13 -04:00
de49bc5bb3 Deprecate :or_else()/:or_fail()/:or_exit() in favor of the or operator 2024-09-16 16:06:19 -04:00
821bde156c Support (optional or skip) 2024-09-16 15:48:06 -04:00
6b5a9d65e3 Overhaul of how libraries are installed 2024-09-15 21:18:42 -04:00
835eb7e896 Add optional:or_exit(...) 2024-09-15 16:42:42 -04:00
fb37b0ee42 Fix up if var := ...: in ternary expressions and optional checking
logic
2024-09-15 16:29:45 -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
34c562e88e Move cord helper functions into their own file 2024-09-13 14:23:24 -04:00
d094049f81 Fix bug in logic for detecting constant strings 2024-09-13 02:02:30 -04:00
46a2aa2ffc Fix up comprehensions so set comprehensions work and everything is a bit
more clean
2024-09-12 14:27:13 -04:00
327d466b95 Table:get() now uses optional values instead of default or failure modes 2024-09-12 00:55:43 -04:00
fa7e52787f Add postfix ! operator for optionals 2024-09-12 00:13:53 -04:00
c034175ae1 Add optional:or_else(fallback) and optional:or_fail(message) 2024-09-11 23:17:03 -04:00
3443edf760 Use optionals for iterators 2024-09-11 22:28:43 -04:00
f7ff82913f Fix recursive structs with optionals 2024-09-11 15:20:33 -04:00
db0d5a1c20 Change *:from_text() methods to return optional values and set up CLI
parsing to use that approach
2024-09-11 14:53:48 -04:00
b0b23acf88 Rename "Nil"->"Null" for consistency 2024-09-11 13:55:41 -04:00
210179ee67 Optional enums (deprecated custom tag values) 2024-09-11 12:29:48 -04:00
23209a0aab Use optional ints in the array find()/first() API 2024-09-11 01:39:19 -04:00
7126755275 Add optional types 2024-09-11 01:31:31 -04:00
f86cc6549f Bugfixes 2024-09-08 19:33:49 -04:00
aeed1992e9 Fix nearly every GCC warning and add __attribute__((pure/const)) where
appropriate
2024-09-08 17:17:15 -04:00
11fa4f548c Support 'when' statements as expressions 2024-09-06 14:15:55 -04:00
7239ec4083 Bugfixes for lambdas that have a trailing abort statement (and print
statements aren't those)
2024-09-06 12:33:28 -04:00
c075deeab4 Actual fix for incref issue 2024-09-06 04:14:50 -04:00
391c1b6bde Rename table_t -> Table_t 2024-09-05 14:57:31 -04:00
fa5ca582ff Clean up some imports 2024-09-05 02:37:45 -04:00
d1b2e9f598 Disallow 'use' statements that aren't top level 2024-09-04 13:48:26 -04:00
29a87ff325 Support literal Text("blah") for text that is constant ASCII strings 2024-09-03 14:48:54 -04:00
6d7a359f8f Bugfix some text replacement things 2024-09-02 19:49:52 -04:00