Xref: utzoo comp.lang.modula2:3770 comp.lang.modula3:203 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!rice!ariel.rice.edu!preston From: preston@ariel.rice.edu (Preston Briggs) Newsgroups: comp.lang.modula2,comp.lang.modula3 Subject: Re: Two Oberon questions Message-ID: <1991Apr13.014229.27407@rice.edu> Date: 13 Apr 91 01:42:29 GMT References: <1991Apr12.104304.4194@jyu.fi> Sender: news@rice.edu (News) Organization: Rice University, Houston Lines: 21 sakkinen@jytko.jyu.fi (Markku Sakkinen) writes: >First question: >How is the type equivalence of two objects really defined in Oberon? >Modula-2 has "name equivalence", but Modula-3 has gone over to >structural equivalence (in my opinion: unfortunately). >Wirth's original language definition in Software - Practice and Experience >(July 1988) sidesteps this question rather completely. In a later paper, perhaps about the Oberon system, Wirth let slip that Oberon (the language) uses name equivalence. Of course, you have to make these exceptions for procedure passed as parameters, and pretty soon you end up wishing he had just said structural equivalence and let it go at that. >Can function procedures in Oberon return structured values? Nope. This one is in the report, somewhere. Of course, I may be out of date. Preston Briggs