The variable-records discussion on this list has revealed the difficulties of checks on variable records. As a sidebar, I recall that Niklaus Wirth has replaced variant records later (in Oberon) with the much more powerful notion of type extensions. Type extensions can easily be checked, both compile-time and run-time.
True. In fact they're very similar to BP's object (which GPC supports) if you don't use any methods (and write `object' instead of `record', of course). Even the type test (`is') is the same in GPC. Only the syntax for the type guard is different [...]
May I suggest to allow in a future version of GPC to write "record" instead of "object" also ? That would be a clear and clean way to declare a record type-extension (in casu a BP-style object without methods), at the cost of very little work in the compiler (I guess).
Adriaan van Os