34d98f067e
For big or arbitrarily big integers not known to be constant, do full
...
Int$plus(a,b) logic so it's definitely correct and doesn't error.
2024-09-05 12:41:13 -04:00
e91b53f070
Improve codegen for loops by not adding extra braces and just using the
...
integer literal for 64-bit ints when iterating over a numeric value
2024-09-05 12:28:28 -04:00
d801681026
Add early outs for (or) and (and) reducers
2024-09-05 11:51:07 -04:00
0d3c8e16bc
Add iteration-over-comprehension optimization
2024-09-05 11:23:00 -04:00
e2118b7407
Better enum messaging for CLI arg parsing
2024-09-04 21:33:06 -04:00
453c3610f9
Support parsing enums (without members)
2024-09-04 16:21:27 -04:00
3513b94fc7
Unify parsing code to correctly handle parsing integers and numbers with
...
a &success boolean. Check for overflow as well.
2024-09-04 16:08:34 -04:00
973b1c55c2
Fix array CLI arguments
2024-09-04 15:30:38 -04:00
e9796e1433
Improve command line parsing (no more cords)
2024-09-04 15:23:23 -04:00
0d098c118b
Add automatic --help
to print usage
2024-09-04 14:34:24 -04:00
ac507da537
Remove unused code path for >> f := use ./foo.tm
2024-09-04 13:49:41 -04:00
d1b2e9f598
Disallow 'use' statements that aren't top level
2024-09-04 13:48:26 -04:00
f605df8230
Minor codegen cleanup
2024-09-04 13:37:00 -04:00
97a964aa86
Implicit filename for table getting
2024-09-04 05:05:31 -04:00
af15e89303
For arrays, use implicit filename from macro
2024-09-04 05:04:45 -04:00
1092185c84
Improve codegen by making test() even more concise
2024-09-04 05:01:21 -04:00
79c1e8f989
Don't put __SOURCE_FILE__ in header
2024-09-04 03:04:42 -04:00
ec688c11bb
Clean up codegen so $Foo"..." comes out as foo$Foo("...") instead of
...
Text("...")
2024-09-04 00:18:03 -04:00
805082d299
Minor codegen cleanup Texts(...)
2024-09-03 23:35:42 -04:00
f60edfbe7f
Improve codegen for doctests a little bit by using __SOURCE_FILE__ macro
...
and making assignments use (x = 4, &x) syntax instead of ({ x = 4; &x })
2024-09-03 23:32:02 -04:00
e15cb21cd5
Fix up CLI parsing
2024-09-03 21:09:11 -04:00
29a87ff325
Support literal Text("blah") for text that is constant ASCII strings
2024-09-03 14:48:54 -04:00
5feecff9d9
Deprecate Where
and change channel API to use a boolean front
value
2024-09-03 03:53:36 -04:00
5a78eb61c8
Bugfix for hex escapes adjacent to hex-like characters
2024-09-02 21:54:38 -04:00
620ebeab8d
Fixing string methods
2024-09-02 20:22:13 -04:00
337aa911a9
Auto promote to C String from Text
2024-09-02 19:53:09 -04:00
6d7a359f8f
Bugfix some text replacement things
2024-09-02 19:49:52 -04:00
80a09e6dba
Fix up some integer and print statement stuff
2024-09-02 19:29:43 -04:00
b0a8404bd7
Fix enums/structs
2024-09-02 19:18:21 -04:00
00a3117803
Bugfix
2024-09-02 19:07:51 -04:00
94761d9a5a
Fix some stuff
2024-09-02 19:05:06 -04:00
61e482f6f3
Initial WIP first past
2024-09-02 18:47:39 -04:00
a197875214
Bugfix for say() when length is >512, and added back the newline
...
optional parameter (default=yes)
2024-08-23 12:42:10 -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
2055439be4
Variables can no longer hold function pointers, only closure_t's. This
...
makes error reporting easier and prevents issues where some functions
could be assigned, but not others. Also change outputs so Void returns
don't show up when displaying types, now just: `func()`
2024-08-21 00:49:22 -04:00
3c4f477b84
Bugfix some copy-on-write cases for when pointers are automatically
...
derefenced for method calls
2024-08-20 16:20:41 -04:00
5b945d8fc6
Remove unused parameter and add some docs on arrays
2024-08-20 16:00:58 -04:00
934b843b1c
Add .text_content as a field on DSLs instead of a method
2024-08-19 14:29:58 -04:00
ea6f9797be
Support DSL constructor working on DSL itself
2024-08-19 13:23:59 -04:00
4e732a718d
Restructure things so that DSL constructors do proper escaping
2024-08-19 13:23:02 -04:00
178dca6e88
Clean up codegen for strings that are just a single interpolated value
2024-08-19 13:14:36 -04:00
8c4210ba01
Support demoting int literals
2024-08-19 12:39:45 -04:00
752be14eed
Fix some numeric precision issues with how nums are printed
2024-08-19 01:46:37 -04:00
14b4a674e8
Fix precision of compiled numbers
2024-08-19 01:32:27 -04:00
c422806d87
Make sure imported/used modules are initialized properly
2024-08-19 00:52:35 -04:00
8363d53bd2
Update channel API to take a Where parameter
2024-08-18 23:59:13 -04:00
9e07c6adc7
Add Channel:peek()
2024-08-18 23:31:36 -04:00
2e8c949fdc
Rename push/pop to give/get, since it's not stack-ordered
2024-08-18 23:24:23 -04:00
7472837ee5
Add array:first(predicate:func(x:&T)->Bool)->@%T?
2024-08-18 22:28:04 -04:00