aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md12
1 files changed, 10 insertions, 2 deletions
diff --git a/README.md b/README.md
index 79250d2..dd08059 100644
--- a/README.md
+++ b/README.md
@@ -18,13 +18,21 @@ IDK WHAT HAPPENDED IT IS 100% AI-GENERATED DO NOT OPEN ANY ISSUES JUST CLONE AND
- text file handling (OPENFILE/READFILE/WRITEFILE/CLOSEFILE/EOF) with runtime misuse
checking (wrong mode, not open, read past EOF, ... all die with a clean `[Fatal]`
message instead of corrupting anything)
+- user-defined types (CIE §4): enumerated types (with runtime range checking on
+ `enum ± INTEGER`), pointers (`^x` / `p^`, strict nominal typing, null-deref dies
+ with `[Fatal]` instead of segfaulting — linked lists work, `TYPE NodePtr = ^Node`
+ may forward-reference), records (nested, arrays of records, `Form[i].Field <- x`)
+- whole arrays and records as FUNCTION/PROCEDURE parameters (`ARRAY OF T` or
+ `ARRAY[l:u,...] OF T` as a checked contract; BYVAL really copies), with the
+ spec-correct sticky BYREF/BYVAL and BYREF-is-procedure-only rules from §8.3
- ultra-fast compiling & executing
## TODO
- search for `TODO` in my code
-- type
-- random files (OPENFILE FOR RANDOM / SEEK / GETRECORD / PUTRECORD) — needs `type` first
+- random files (OPENFILE FOR RANDOM / SEEK / GETRECORD / PUTRECORD) — `type` is done, unblocked
+- SET types (`SET` / `DEFINE` are reserved and give a clear "not implemented" error)
+- CASE OF, CONSTANT, DATE
## Dependencies