Commit Graph

864 Commits

Author SHA1 Message Date
44892df4c5 Add Text.trim() 2024-09-06 00:03:28 -04:00
1000423d2b Some const stuff 2024-09-05 17:06:27 -04:00
bac14fa6c7 Fully clean up siphash code and fix some issues 2024-09-05 16:23:05 -04:00
47e8972427 Update 'use' test to include a '../examples/vectors.tm' import as well
as an unnamed import
2024-09-05 15:49:18 -04:00
df61a0805f Correctly resolve '../' paths 2024-09-05 15:47:00 -04:00
3444d1652d Add comment 2024-09-05 15:44:49 -04:00
d99f0271ad Revert "Use stack() macro" (actually needs to work this way)
This reverts commit ed36765b42.
2024-09-05 15:43:52 -04:00
9f8abd5cd1 Add vectors to the examples 2024-09-05 15:41:04 -04:00
72502b099b Document examples 2024-09-05 15:38:58 -04:00
52717c14e6 Add some examples 2024-09-05 15:37:33 -04:00
ed36765b42 Use stack() macro 2024-09-05 15:35:40 -04:00
e92ea6fe1b Remove unused macro 2024-09-05 15:33:43 -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
c82b664db9 Slightly clean up CLI usage error code for no-argument programs 2024-09-05 14:44:52 -04:00
a8be9efcd3 Rework CLI compilation so that all of the argument parsing is written to
the .tm.c file and the runner program is *just* a single function call
to the function that parses args and runs the main function. Also
improved some CLI usage error code
2024-09-05 14:38:37 -04:00
e6aea8c130 Add support for custom HELP for CLI tools 2024-09-05 13:57:48 -04:00
443af763f4 Trim excess blank lines before feeding to indent 2024-09-05 12:51:53 -04:00
e1d0927744 Fix 'empty' clause for integer iteration 2024-09-05 12:44:01 -04:00
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
8d41b2b1fb Do the extremely obvious optimization of checking if two pieces of data
are at the same location before bothering to compare them
2024-09-05 10:31:35 -04:00
d3c4f613ac Update to reflect code growth 2024-09-05 04:00:15 -04:00
41e4ddb973 Clear out some CRLF cruft 2024-09-05 03:58:20 -04:00
73df39ff7e Fix stability of concatenation 2024-09-05 03:47:15 -04:00
e3cc4f88e0 Be extra correct about prefix codepoints 2024-09-05 02:56:56 -04:00
fa5ca582ff Clean up some imports 2024-09-05 02:37:45 -04:00
f5140086ae Dynamically grow synthetic grapheme array 2024-09-05 02:32:09 -04:00
719c387118 Fix up handling of synthetic graphemes, also document how they work 2024-09-05 02:25:21 -04:00
e2118b7407 Better enum messaging for CLI arg parsing 2024-09-04 21:33:06 -04:00
3a556296b6 Add Text:repeat() 2024-09-04 21:22:03 -04:00
00543b4e87 Add Text.map(pat, fn) 2024-09-04 21:02:37 -04:00
93140c2896 Document CLI parsing 2024-09-04 16:29:18 -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
11b484a6a2 Document ask() 2024-09-04 15:03:54 -04:00
05bc754679 Add ask() as a way to get user input 2024-09-04 14:55:00 -04:00
570c4c63ca Remove readline dependency 2024-09-04 14:36:23 -04:00
0d098c118b Add automatic --help to print usage 2024-09-04 14:34:24 -04:00
f99e94c532 Document {nl} 2024-09-04 14:13:42 -04:00
716c30d592 Add nl/newline/clrf pattern 2024-09-04 14:12:41 -04:00
0a3b3bf9eb Fix const correctness 2024-09-04 13:50:59 -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