|
@@ -2,7 +2,7 @@
|
|
|
|
|
|
|
|
**Date:** 2026-10-24 · **V3 state:** open arrays, dialect library
|
|
**Date:** 2026-10-24 · **V3 state:** open arrays, dialect library
|
|
|
folders and separate compilation with `M2 -I`/incremental objects
|
|
folders and separate compilation with `M2 -I`/incremental objects
|
|
|
-(suite 305/305, self-hosting fixpoint OK 3,807,056 bytes, corpus
|
|
|
|
|
|
|
+(suite 306/306, self-hosting fixpoint OK 3,808,348 bytes, corpus
|
|
|
519/612, 0 crashes).
|
|
519/612, 0 crashes).
|
|
|
|
|
|
|
|
**Scope and sources.**
|
|
**Scope and sources.**
|
|
@@ -80,6 +80,7 @@ change individual cells.
|
|
|
| Records | ✅ | ✅ | ✅ extensible | ✅ | ✅ (incl. self-referential pointer fields and flat multi-dimensional array fields) |
|
|
| Records | ✅ | ✅ | ✅ extensible | ✅ | ✅ (incl. self-referential pointer fields and flat multi-dimensional array fields) |
|
|
|
| Variant records | ✅ | ✅ | ❌ removed (extensible records replace them) | ✅ | ✅ (plus empty arms/`ELSE`) |
|
|
| Variant records | ✅ | ✅ | ❌ removed (extensible records replace them) | ✅ | ✅ (plus empty arms/`ELSE`) |
|
|
|
| Pointers, `NIL`, opaque types | ✅ | ✅ | ✅ (`OPAQUE` keyword) | ✅ | ✅ (incl. chained `p^.next^.value`) |
|
|
| Pointers, `NIL`, opaque types | ✅ | ✅ | ✅ (`OPAQUE` keyword) | ✅ | ✅ (incl. chained `p^.next^.value`) |
|
|
|
|
|
+| `ADDRESS` ↔ pointer equality | n/a | ✅ | n/a | ✅ | ✅ (`ADR(p^) = p`) |
|
|
|
| Procedure types | ✅ (`PROCEDURE`) | ✅ (`PROCEDURE`, `PROC`) | ✅ (comma-separated formals) | ✅ | ✅ (`PROCEDURE`, `PROC`; comma/unnamed forms) |
|
|
| Procedure types | ✅ (`PROCEDURE`) | ✅ (`PROCEDURE`, `PROC`) | ✅ (comma-separated formals) | ✅ | ✅ (`PROCEDURE`, `PROC`; comma/unnamed forms) |
|
|
|
| Complex types (`COMPLEX`, `LONGCOMPLEX`) | ❌ | ✅ (ISO) | ❌ (not in the base R10 grammar) | ❌ | ❌ (`COMPLEX64` is a `REAL` placeholder) |
|
|
| Complex types (`COMPLEX`, `LONGCOMPLEX`) | ❌ | ✅ (ISO) | ❌ (not in the base R10 grammar) | ❌ | ❌ (`COMPLEX64` is a `REAL` placeholder) |
|
|
|
| SYSTEM sized types (`WORD32`, `CARDINAL8`, `BITSET32`, …) | ❌ | ✅ | 🔄 `OCTET` (8-bit), `LONGCARD`, `LONGBITSET` | 🔄 `SHORTINT`/`LONGINT`/`SHORTCARD`/`LONGCARD` family | ✅ 8/16/32 names; `WORD`/`WORD32` 32-bit |
|
|
| SYSTEM sized types (`WORD32`, `CARDINAL8`, `BITSET32`, …) | ❌ | ✅ | 🔄 `OCTET` (8-bit), `LONGCARD`, `LONGBITSET` | 🔄 `SHORTINT`/`LONGINT`/`SHORTCARD`/`LONGCARD` family | ✅ 8/16/32 names; `WORD`/`WORD32` 32-bit |
|