|
@@ -95,8 +95,9 @@ Legend: ✅ done · 🔄 partial · ⏸ not started / deferred.
|
|
|
truncated to the array capacity, NUL-terminated), `LEN`/`LENGTH` of
|
|
truncated to the array capacity, NUL-terminated), `LEN`/`LENGTH` of
|
|
|
arrays and string literals. UString `+`/`LEN` likewise.
|
|
arrays and string literals. UString `+`/`LEN` likewise.
|
|
|
- ✅ `NIL` comparisons/assignment.
|
|
- ✅ `NIL` comparisons/assignment.
|
|
|
-- ✅ `VAL`/`ADR`/`TSIZE`/`SIZE`/`HIGH`/`LEN` work. ⏸ Result suffixes
|
|
|
|
|
- (`F()^`).
|
|
|
|
|
|
|
+- ✅ `VAL`/`ADR`/`TSIZE`/`SIZE`/`HIGH`/`LEN` work. ✅ Result suffixes
|
|
|
|
|
+ (`F()^`, `F()[i]`, `F().field`): components after a call result,
|
|
|
|
|
+ loaded like Design components.
|
|
|
|
|
|
|
|
## Procedures & modules
|
|
## Procedures & modules
|
|
|
- ✅ Value + `VAR` params, function results, recursion, mutual
|
|
- ✅ Value + `VAR` params, function results, recursion, mutual
|
|
@@ -129,12 +130,23 @@ Legend: ✅ done · 🔄 partial · ⏸ not started / deferred.
|
|
|
- ✅ `runtime/syslib`: `SysShim`, `FileIO`, `Utf8` (UTF-8 codec).
|
|
- ✅ `runtime/syslib`: `SysShim`, `FileIO`, `Utf8` (UTF-8 codec).
|
|
|
- ✅ `stdlib`: `SysIO`, `TextIO` (+ UTF-8 `U*`), `WholeIO`,
|
|
- ✅ `stdlib`: `SysIO`, `TextIO` (+ UTF-8 `U*`), `WholeIO`,
|
|
|
`Math` (incl. `log10`/`atan2`/`sinh`/`cosh`/`tanh`/`hypot`/
|
|
`Math` (incl. `log10`/`atan2`/`sinh`/`cosh`/`tanh`/`hypot`/
|
|
|
- `floor`/`ceil`/`trunc`/`round`/`fmod`), `Strings` (incl. `Slice`
|
|
|
|
|
|
|
+ `floor`/`ceil`/`trunc`/`round`/`fmod`; `ln`/`arctan` wrap `log`/`atan`),
|
|
|
|
|
+ `Strings` (incl. `Slice`
|
|
|
(Python-style), `Insert`, `Replace`, `Capitalize`), `CharClass`,
|
|
(Python-style), `Insert`, `Replace`, `Capitalize`), `CharClass`,
|
|
|
`Files` (layered on `IOChan`),
|
|
`Files` (layered on `IOChan`),
|
|
|
`Conversions` (ISO `ConvResults` statuses + BOOLEAN shortcuts),
|
|
`Conversions` (ISO `ConvResults` statuses + BOOLEAN shortcuts),
|
|
|
`RealIO`, `ProgramArgs`, `SysClock`,
|
|
`RealIO`, `ProgramArgs`, `SysClock`,
|
|
|
`IOChan` (streams + files; `Position`/`Seek`/`Rewind`), `Storage`.
|
|
`IOChan` (streams + files; `Position`/`Seek`/`Rewind`), `Storage`.
|
|
|
|
|
+- ✅ gm2/ISO text + conversion library added: `ConvTypes`, `IOConsts`,
|
|
|
|
|
+ `SIOResult`, `TERMINATION`, `StrIO`, `InOut`, `StdIO`, `WholeStr`,
|
|
|
|
|
+ `RealStr`, `LongStr`, `LongMath`, `STextIO`, `SWholeIO`, `SRealIO`,
|
|
|
|
|
+ `DynamicStrings` (core subset), `SysStorage`.
|
|
|
|
|
+
|
|
|
|
|
+## Coroutines
|
|
|
|
|
+- ✅ PIM/SYSTEM coroutines: `PROCESS`, `NEWPROCESS`, `TRANSFER`,
|
|
|
|
|
+ `IOTRANSFER` (the last degrades to a transfer without an interrupt
|
|
|
|
|
+ subsystem). Bind to `ucontext` helpers in the shim; coroutine
|
|
|
|
|
+ bodies are called with a 0 static link (module-level procedures).
|
|
|
|
|
|
|
|
## Not started
|
|
## Not started
|
|
|
- ✅ Clarion `CLASS`: fields, methods (value/VAR formals, results),
|
|
- ✅ Clarion `CLASS`: fields, methods (value/VAR formals, results),
|