[Oberon] Clarifying type compatibility in Oberon-07
August Karlstrom
fusionfile at gmail.com
Wed Oct 4 21:00:52 CEST 2017
On 2017-10-04 18:11, Jörg wrote:
> In my point of view Appendix A for Oberon-07 would look like this.[...]
(Your strikethroughs and colors don't show in ASCII so I cannot include
any quoted context.)
Our goal in this thread is to reach a consensus about how a conforming
Oberon-07 compiler should behave (when it comes to type compatibility)
and document it using appendix A in the Oberon-2 report as a template.
Note also that Niklaus Wirth has said that his implementation (the
PO2003 compiler) should not be taken as a reference for compiler developers.
* LONGINT is not in the report so it should be dropped.
* Since integers and integer variables can be assigned to byte variables
the type inclusion concept makes no sense in Oberon-07. It should be
dropped from the appendix.
* Under "Assignment compatible" you don't mention assignment of open arrays.
* Paragraph 4 of "Array compatible" (ARRAY n OF BYTE...) must be a
compiler extension since it cannot be deduced from the language report.
You never mention structural equivalence in assignment of expressions of
array or procedure type, so the question is if that is an undocumented
"language extension" in the PO2003 compiler.
Any more comments?
-- August
More information about the Oberon
mailing list