kendall@harvard.ARPA (Sam Kendall) (07/29/85)
Following are some questions on Modula-2. I am doing a paper that includes some discussion of this language. Please help me if you can! My information on Modula-2 is based on the "Report" in N. Wirth, _Programming in Modula-2_, 2nd Edition, Springer-Verlag, 1983. 1. Is there any newer report on the language? There are clearly some ambiguities and omissions in this one. 2. Runtime checking seems NOT to be mandated for arrays, pointers (NIL), subranges, variant records (assignment to tag), undefined value, dangling pointer, VAL to enum or char type. Am I wrong here? 3. Are there any compilers that implement runtime (or sohpisticated static) checking for the above or for anything else? 4. Section 10.2: What does TSIZE(T, t1, t2, ...) mean? What are t1, t2, ...? 5. The null string "" is permitted by the syntax, but what is its type? ARRAY [0..-1] of CHAR is not legal. 6. Does SIZE(a[f(i)]) result in f() being called? I assume not, but the Report doesn't mention this issue. 7. Wirth says almost nothing about type transfer functions. Is there anything that can be said about them that is guaranteed across all implementations, even their existence? That's all for now. Please reply by mail, and I will report to the net if there is any interest. ---- Sam Kendall Harvard University (also Delft Consulting Corp.) {allegra | cmcl2 | ihnp4 | ut-sally}!harvard!kendall kendall@harvard.HARVARD.EDU (old: kendall@harvard.ARPA) kendall@harvard.BITNET, I think Phone: (212) 243-8700