f51acef40e
Overhaul of Path so it uses root and array of components instead of
...
stringly typed
2025-03-15 14:22:11 -04:00
39dd1ca27d
Add convert
keyword for defining conversions
2025-03-10 12:42:45 -04:00
73e559fbe4
Support 'when' for literal values with equality checking
2025-03-06 18:37:08 -05:00
4b8a72de3f
Print moment ASTs
2025-02-12 14:31:01 -05:00
6310f05656
Remove dead code
2025-02-07 20:25:48 -05:00
b025cf269d
Use holding
blocks for mutexed data instead of lambdas
2025-01-02 20:29:55 -05:00
be384c0caa
Replace threads with generic mutexed datastructures.
2025-01-02 16:24:07 -05:00
c6c7cc7272
Revert "Deprecate "&" for stack references"
...
This reverts commit 41c0ea851a
.
2024-12-18 14:44:37 -05:00
3a5815d4bd
Improvements and fixes for assigning to table keys
2024-12-06 15:18:25 -05:00
f66f8ad711
Add serialization and deserialization
2024-11-29 18:09:12 -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
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
b8d7eabc02
Deprecate bit-width integer/num literals in favor of using type
...
constructors
2024-11-05 15:18:32 -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
078b443185
Add a repeat
keyword
2024-11-03 12:20:53 -05:00
0b7a0dd043
Change reducers to use (OP: ...) syntax and return an optional value
2024-11-02 20:22:19 -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
6b9055db7c
Deprecate readonly pointers for now
2024-10-04 13:21:56 -04:00
ca93e6f3cb
Simplify code by making name := use ...
a Use AST instead of a Declare
2024-09-27 14:56:24 -04:00
7e0b1a3214
Deprecate linker directives
2024-09-18 00:43:13 -04:00
03a7d5f44d
Overhaul of header logic so it now uses topological ordering and
...
deduplication for libraries with multiple files.
2024-09-17 16:20:30 -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
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
fa7e52787f
Add postfix !
operator for optionals
2024-09-12 00:13:53 -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
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
d1b2e9f598
Disallow 'use' statements that aren't top level
2024-09-04 13:48:26 -04:00
61e482f6f3
Initial WIP first past
2024-09-02 18:47:39 -04:00
ad51b208b4
Overhaul of import syntax. Now everything uses use
: use foo
, `use
...
./foo.tm`, `use <foo.h>`, `use libfoo.so`
2024-08-22 14:02:48 -04:00
967b649da2
Deprecate #
operator in favor of .length and fix up some issues
2024-08-18 20:39:57 -04:00
752ab8212c
Split BigIntType out of IntType and switch to using enums for the size
...
of ints/nums
2024-08-18 11:49:51 -04:00
d08f795794
Partially working first draft of bigints
2024-08-13 01:30:25 -04:00
6aabed4fcc
Fix some COW bugs for arrays/tables/sets
2024-08-12 17:44:05 -04:00
d2f4d07585
Support channels with maximum size
2024-08-11 15:04:22 -04:00
2ecb5fe885
Add channels and threads
2024-08-11 14:47:34 -04:00
6d3d104363
Overhaul of operator metamethods
2024-08-10 20:50:15 -04:00
b37bd70b60
For tables, deprecate support for square bracket indexing and .default
...
values, replacing them with a `:bump()` function for tables with numeric
values. This means that counters can be implemented easily without the
need to mask complexity.
2024-08-10 16:03:41 -04:00
8d3d591312
Add Sets to the language
2024-08-10 15:15:38 -04:00
445f79cb70
Add iterator functions
2024-07-13 17:17:58 -04:00
4d3ea3f73e
Check for newline between statements in blocks
2024-07-04 18:45:04 -04:00
6a105fbd80
Add 'defer'
2024-07-04 18:00:01 -04:00
9d9fe12987
Add !!
statement for printing text
2024-07-04 16:23:05 -04:00
38622ccbec
Change metamethod names
2024-07-04 13:40:09 -04:00
f391c929e5
Add math metamethods (__add, __sub, etc.)
2024-07-01 11:12:00 -04:00
dab2c399f1
Split import/use into separate concepts
2024-06-13 13:17:51 -04:00