|
|
@@ -0,0 +1,31 @@
|
|
|
+# Step: standard library broadened
|
|
|
+
|
|
|
+Tags `v3-stdlib-broaden`. Suite **112/112** (new `Stdlib2Prog`).
|
|
|
+
|
|
|
+## Added
|
|
|
+
|
|
|
+- **`Math`** — `tan`, `arcsin`, `arccos`, `power` (bound to libm
|
|
|
+ `tan`/`asin`/`acos`/`pow`; `arcsin`/`arccos`/`power` are thin
|
|
|
+ wrappers so the names stay classic). Existing:
|
|
|
+ `sqrt/exp/ln/sin/cos/arctan/abs`, `Pi`, `E`.
|
|
|
+- **`Strings`** — `Equal` (content equality) and
|
|
|
+ `Pos(pattern, s)` (1-based index of the leftmost occurrence, `0` when
|
|
|
+ absent). Existing: `Length/Assign/Concat/Compare/Delete/Append/Copy`.
|
|
|
+- **`CharClass`** (new) — ASCII classification: `IsDigit`, `IsUpper`,
|
|
|
+ `IsLower`, `IsAlpha`, `IsSpace`.
|
|
|
+
|
|
|
+## Test
|
|
|
+
|
|
|
+`compiler/tests/stdlib2_prog.mod` (`Stdlib2Prog`, exit 42, prints
|
|
|
+`stdlib2 n=42`) exercises the new `Math`/`Strings`/`CharClass` surface
|
|
|
+alongside `SysIO`.
|
|
|
+
|
|
|
+## Note
|
|
|
+
|
|
|
+The directory rename to `syslib/` was **not** done (kept `stdlib/` and
|
|
|
+`runtime/syslib/` as-is).
|
|
|
+
|
|
|
+## Files
|
|
|
+
|
|
|
+`stdlib/{math,strings,charclass}.def/.mod`,
|
|
|
+`compiler/tests/stdlib2_prog.mod`, `compiler/run_tests.sh`.
|