147e0f0269
Overhaul of constructors, making it more consistent and correct. Also
...
changed T(), T, T_t, T_s type names to T(), T$$info, T$$type, T$$struct
for unambiguity
2025-03-05 18:20:54 -05:00
be87d8169d
Convert the logic for finding closed variables to a more pure functional
...
style with fewer side effects
2025-02-09 13:57:54 -05:00
2ff7c1aa71
Move REPL code out of binding_t struct
2025-02-06 14:18:52 -05:00
c6c7cc7272
Revert "Deprecate "&" for stack references"
...
This reverts commit 41c0ea851a
.
2024-12-18 14:44:37 -05:00
4b5e4cd1f2
Change how types handle metamethods
2024-11-29 12:55:14 -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
7a4f2e73ad
Rename from_text()
to parse()
2024-11-09 15:11:11 -05:00
b8d7eabc02
Deprecate bit-width integer/num literals in favor of using type
...
constructors
2024-11-05 15:18:32 -05: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
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
1a6ce0047b
Rename TypeInfo -> TypeInfo_t and fix up some typeinfo code
2024-09-30 14:39:30 -04:00
c455e7b67d
Rename builtins/ -> stdlib/
2024-09-13 20:18:08 -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
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
04c8fb0362
Replace $Type with Type$info for builtin TypeInfos
2024-09-05 15:31:54 -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
61e482f6f3
Initial WIP first past
2024-09-02 18:47:39 -04:00
dceb925573
Bugfix for parsing ints
2024-08-23 11:38:54 -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
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
9c2d7c437d
Fix up type conversions with ints and nums
2024-08-14 14:57:01 -04:00
32a6a5ce37
Support more binops
2024-08-13 14:29:51 -04:00
b608d7fbbb
Improvements to repl
2024-08-13 14:28:02 -04:00
d08f795794
Partially working first draft of bigints
2024-08-13 01:30:25 -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
167634eaa4
Change array API to take a padded item size instead of a type info in
...
most cases
2024-08-03 15:33:50 -04:00
b2e752ee32
Replace heap_str with GC_strdup
2024-07-26 13:30:24 -04:00
39576466a7
Add ReturnType(ret) so we can more accurately track return values for
...
`if` statements
2024-07-13 18:43:50 -04:00
a86dc05d36
Cache AST parsings so we don't have to re-parse files
2024-07-05 15:51:23 -04:00
9f8be0c502
Support library name as a separate environment field from namespace
2024-06-16 16:08:35 -04:00
1df26851d7
Add syntax for "inline C(...)"
2024-05-18 16:31:34 -04:00
fe28816b50
Fix REPL
2024-05-14 14:25:27 -04:00
2e27b88c1b
Improved syntax for optionals
2024-04-30 13:18:47 -04:00
c73e96ff91
Add comparison operator <> and array method to sort by a custom
...
comparison function
2024-04-02 13:08:06 -04:00
b6534ce347
Implement REPL 'while'
2024-03-31 13:13:08 -04:00
56a44684fa
More errors
2024-03-30 13:43:24 -04:00
f1d4f928e4
Use generic cord/compare functions
2024-03-30 13:42:24 -04:00
0ea5fe933a
Tweak repl multi-line parsing
2024-03-30 13:35:11 -04:00
e5880b4616
REPL 'if'
2024-03-30 13:24:39 -04:00
42084fda6f
Fix indexing errors
2024-03-30 13:18:19 -04:00
7048c827c0
More functionality for repl
2024-03-30 13:16:52 -04:00
1ef1b15fd3
More repl functionality/fixes
2024-03-30 12:47:20 -04:00
4192e123e6
Bugfix for color
2024-03-30 12:17:39 -04:00
838c9963fc
Adding a REPL
2024-03-30 12:14:24 -04:00