c153e05258
Fixes for ask() being optional and command success status
2025-03-21 18:07:17 -04:00
ac3a02b80b
Add version check for GNU MP's prev_prime()
2025-03-21 16:19:59 -04:00
6086b2dbda
Expose PathType as a proper enum
2025-03-18 17:00:30 -04:00
dd4ff777f4
Rename/rework global env functions
2025-03-18 01:48:35 -04:00
451634ae23
Add text width support and have that work for padding
2025-03-17 23:37:31 -04:00
0bba319126
Big overhaul:
...
- Clean up environment code using type strings instead of manually
defining types
- Add Commands module
- Move Shell lang into an example module that uses Commands module
- Fix some bugs with chained library dependencies
2025-03-17 19:29:28 -04:00
94993c5f11
Add Path:expand_home() as a publicly visible API and bugfix it
2025-03-17 18:59:03 -04:00
36e93a8a99
Have global vars use type string parsing
2025-03-17 15:00:46 -04:00
67191b7078
Fix shell escaping for arrays of paths
2025-03-16 16:54:27 -04:00
b4a0fda409
Fix shell escaping of paths
2025-03-16 16:52:00 -04:00
b0b2504a94
Update file path API and docs
2025-03-16 16:11:43 -04:00
500989cf55
Rename path root
to path type
2025-03-16 14:11:16 -04:00
f51acef40e
Overhaul of Path so it uses root and array of components instead of
...
stringly typed
2025-03-15 14:22:11 -04:00
a3c4e0a82d
Rename without_escaping()
-> from_text()
2025-03-12 18:12:53 -04:00
7c68fc9585
Fix some scoping issues with type methods and enum returns
2025-03-10 13:33:31 -04:00
39dd1ca27d
Add convert
keyword for defining conversions
2025-03-10 12:42:45 -04:00
94ed28b4d1
Add better typechecking for Abort (and add Abort
as a user-reachable
...
type) and check for unreachable code
2025-03-09 17:52:48 -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
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
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
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
2c4324670f
Add print() as alias for say()
2025-03-05 11:35:53 -05:00
f330f06c21
Add recursive
argument to text:each() and text:map(), plus update docs
2025-03-03 13:45:30 -05:00
b0483e8429
Check for null
2025-03-01 16:15:46 -05:00
fab0083129
Support post-hoc definitions of escaping rules for DSLs
2025-03-01 16:04:14 -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
39295176a2
Automatic escaping for Path -> Shell
2025-02-24 17:08:03 -05:00
ee2b02d44d
Integer range iteration over fixed width integers should iterate over
...
that type
2025-02-21 15:51:22 -05:00
91f66d80bb
Support arbitrary argument constructors
2025-02-20 17:13:50 -05:00
43a2959be3
Add undef
2025-02-20 11:59:46 -05:00
058a028aef
Switch to langs using constructors
2025-02-19 18:50:50 -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
66eca49d18
Tweak set_binding()
API
2025-02-10 13:13:45 -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
32da3a3226
Add a _
prefix on variables so it's easier to debug in GDB
2025-02-04 14:16:06 -05:00
645d66e0de
Change table syntax to {key=value}
and {:K,V}
/{K,V}
2025-01-12 16:49:58 -05:00
9e0017e86e
Add Int:factorial() and n:choose(k)
2024-12-24 14:20:16 -05:00
46b61d3ed2
Add text:by_line()/:by_split()/:by_match()
2024-12-21 16:32:22 -05:00
478ddad9aa
Add Text:reversed()
2024-12-19 15:32:19 -05:00
b0faa5adc2
Add Text:from()/to() and Array:slice() for symmetry
2024-12-19 13:50:35 -05:00
d3eb8b8339
Have ask() return an optional text
2024-12-15 16:53:18 -05:00
d65a0abba1
Add GCD function for integers (of all flavors)
2024-12-08 14:28:26 -05:00
37f3e91f6c
Rename "NONE" to "none"
2024-12-07 16:04:25 -05:00
07dd1894b7
Bugfixes for moments mixing up microseconds/nanoseconds, plus adding
...
accessor fields for them
2024-11-30 17:25:36 -05:00
32532836b9
Add NaN documentation
2024-11-25 15:57:56 -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