⎕WC class definition persistence across Dyalog version upgrades with ⎕ML misalignment
0 reputation · 25 Jan 2024, 12:27 UTC
The persistence of ⎕WC class definitions across Dyalog major version upgrades remains ambiguous when the ⎕ML mixed-language flag setting differs between save and load sessions. A class definition saved in Dyalog 17.x embeds version-specific metadata that Dyalog 19+ may interpret through an updated class schema, potentially triggering WS FULL errors or silently omitting fields that do not conform.
The ⎕ML version gate further influences method dispatch in inherited classes, and the interaction between the flag's value at save time and the target workspace's setting is not uniformly documented across Classic and Unicode editions. This ambiguity creates a design decision point for environments migrating Dyalog versions while preserving ⎕WC-dependent workflows.
Does Dyalog 19+ retain the original ⎕ML version gate from a saved ⎕WC definition, or does it override it with the current workspace setting? When fields are silently omitted during cross-version loading, is there a mechanism to retrieve a list of discarded properties? Can the embedded version metadata of a ⎕WC definition be inspected without loading it into a target Dyalog release?