[net.lang.mod2] Functions CAN return structured types. Really.

joel@DECWRL.DEC.COM (Joel McCormack) (06/18/86)

Kevin Kleinfelter writes:

> Gleaves book is based on some chapters from the Volition Systems
> Modula-2 reference manual.  (He wrote theses chapters while
> working for Volition Systems.)  Thus his descriptions are biased
> in favor of his company's compiler.

While Rich Gleaves did indeed round out the introductory portion of the
Volition manual into his book, he nonetheless carefully maintained the
distinction between the actual Modula-2 language and Volition
restrictions/extensions.

Niklaus Wirth has stated that the restriction of return types to
scalars and pointers in the ETH compilers is just that, a restriction
of his implementations, and not of the language.  The first half of
Rich's book was intended in part to make definite many of the fuzzier
points in Wirth's book, not to slyly pass off Volition's implementation
as the real language definition.  Rich was in fact reluctant to state
outright that structured function results were part of the language
until Wirth had more publicly declared this so.

Unfortunately, this clarification (and many others) did not make it
into even the 3rd edition of the book. C'est la vie.

(And how do I speak so authoritatively?  Volition's ex-President,
Rich's ex-roommate, and two trips to ETH.)

- Joel McCormack {ihnp4 decvax ucbvax allegra}!decwrl!joel
		 joel@decwrl.dec.com