Commit Graph

160 Commits

Author SHA1 Message Date
1f6e586b2a Support external structs with namespaced methods (also C-strings are now
`const char*` instead of `char*`)
2025-03-11 17:49:04 -04:00
e7035e6a86 Clean up doctest code a bit 2025-03-11 14:23:41 -04:00
cab9ea0aad Improve codegen for optional struct types 2025-03-11 13:44:02 -04:00
9885ab1163 For doctests, only print code if there's no expected value. If there's
an error, show the mismatch below the stack trace.
2025-03-10 23:46:26 -04:00
6abd4e8024 Add fail_text() so there isn't a hacky/broken fail() with promotion to
CString
2025-03-09 17:30:22 -04:00
a24e521fa7 Have floating point modulus use euclidean division 2025-03-09 17:02:48 -04:00
50f8fdd007 Fix some integer stuff that was being implicitly downcast to 32-bit 2025-03-09 16:14:53 -04:00
29358b9cd0 Add some missing modulus and conversion methods for floats/ints 2025-03-09 15:56:44 -04:00
2ebe7893fe Add text padding functions: :left_pad(), :right_pad(), :middle_pad() 2025-03-07 16:56:23 -05:00
60e971ff7a Roll back number formatting change 2025-03-07 16:55:35 -05:00
7eb1fbf5d2 Add proper language support for case operations on text 2025-03-07 16:19:12 -05:00
d590b9d386 Fix number precision stuff 2025-03-07 15:30:26 -05:00
bae4ae1a6a Correctly set locale when starting the program 2025-03-07 14:28:28 -05:00
3ea8540ec6 Incremental improvement to parsing none for optional arguments 2025-03-07 12:26:22 -05:00
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
f330f06c21 Add recursive argument to text:each() and text:map(), plus update docs 2025-03-03 13:45:30 -05:00
44b0db6882 Fix parsing for CLI tables and arrays 2025-03-03 12:53:02 -05:00
bd4ee6a429 Add better error checking for parsing program --array=1 2 3 2025-03-02 01:11:57 -05:00
d8399bb044 Bugfix for recursive replacement on Text.replace_all() 2025-03-02 00:02:23 -05:00
afed636252 Handle case where file can't be found 2025-02-28 18:48:36 -05:00
39e169d5b4 Check for missing argument 2025-02-28 18:15:15 -05:00
12569cb933 Improved call stacks (using addr2line still) 2025-02-26 16:38:22 -05:00
851ec4e29d Fix non-colorized doctest output newlines 2025-02-25 01:05:58 -05:00
9a62f8d6a6 Add $Shell.execute() 2025-02-25 00:59:31 -05:00
928f3250b3 Add $Shell:execute() 2025-02-24 18:23:18 -05:00
ee2b02d44d Integer range iteration over fixed width integers should iterate over
that type
2025-02-21 15:51:22 -05:00
7a6abd4f8e Tweak function registration API 2025-02-21 14:59:14 -05:00
29849d1457 Fix shell escaping (add quotes) 2025-02-19 18:24:27 -05:00
c4479e4bd6 Add Int:onward() iterator 2025-02-13 15:21:00 -05:00
5be9559046 Deprecate Range datatype in favor of using iterator methods 2025-02-13 15:03:22 -05:00
04dddda811 Add missing files 2025-02-10 19:04:30 -05:00
362146e295 Bugfix and minor perf improvements for text concatenation with unstable
clustering
2025-02-07 20:06:00 -05:00
58af4226f8 Hide '_.' from stack backtrace 2025-02-04 14:18:29 -05:00
50edc4097a Add {word} as an alias for {id} 2025-02-04 13:44:38 -05:00
74b1265d2a Text struct field reordering 2025-01-29 14:27:10 -05:00
f93dde1449 Overhaul of Text implementation to be more like Cords and have much
better performance for long sequences of repeated concatenation.
2025-01-23 15:33:56 -05:00
645d66e0de Change table syntax to {key=value} and {:K,V}/{K,V} 2025-01-12 16:49:58 -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
8df0cc41c9 Array:heap_pop() now returns an optional value 2024-12-31 15:57:13 -05:00
156d54a73e Add array:pop() 2024-12-31 15:46:53 -05:00
32cbf7b7c8 Bugfix for text hashing 2024-12-26 17:15:52 -05:00
59b31083a6 Change table hashing and comparison logic to be *unordered*, but still
O(N)
2024-12-26 16:52:47 -05:00
9e0017e86e Add Int:factorial() and n:choose(k) 2024-12-24 14:20:16 -05:00
dcab9eb748 Tweak array resizing policy 2024-12-22 16:22:39 -05:00
a9fe674446 Fix for resizing 2024-12-22 16:09:55 -05:00
5df498fc20 Tweak bucket resize cap 2024-12-22 16:08:20 -05:00
6f1ed65de9 Tweak table resizing policy 2024-12-22 16:07:43 -05:00
3dd7854076 Add optimized metamethods for enums and structs that hold packed data 2024-12-22 15:53:26 -05:00
cdda494fe5 Revert hash thing 2024-12-22 15:32:57 -05:00