Previous mail
Next mail
Unformatted/full headers
Overview 10 days
Subject
Date
Thread
Author
From: Gale Paeper
Subject: Extended Pascal question
Date: 20 Apr 2004, 16:16:25
Frank Heckenbach wrote: > > Gale Paeper wrote: > > > > This should also export `a' and `b' from m2 (since `a' is principal, > > > `c' is not): > > > > Frank, this comment doesn't seem to match up with the following example > > as you have typed it. Is there a typo in "export m2 = (c .. b);"? > > [snip] > > > > If you meant exactly what you posted "export m2 = (c .. b);", then your > > comment makes no sense and is not correct in several ways since "export > > m2 = (c .. b);" does not lead to a constituent-identifier "a" being > > exported through interface "m2" and the export-range usage is illegal > > since the imported constituent-identifier "c" from interface "m" is not > > a principal identifier of the denoted value. > > > > > module m; > > > export m = (e, a, b, a => c); > > > type e = (a, b); > > > end; > > > end. > > > > > > module m2; > > > export m2 = (c .. b); > > > import m; > > > end; > > > end. > > I really mean it. Note this part of 6.11.2 (emphasis by me): > [snip] > > So if I read the standard correctly, the range export indeed does > not export the identifier `c', although it's explicitly named, but > exports `a' and `b' as principal identifiers (export ranges always > export principal identifiers, according to c). See also note 6. Geesh! With note 6 and a more careful reading of the requirements, I see you are indeed correct that the requirements require the behavior you've described for the example. That aspect of the export-range feature doesn't seem to be very Pascal-like to me. However, regardless of one's opinion about it, it is required by the export-range requirements and thus must be supported to be fully compliant with ISO 10206. > > As the whole text of ISO 10206 is presently written, there seems to be a > > logic conflict no matter which position you try to take on exporting of > > 6.2.2.10 required-identifiers. Perhaps I'm missing come critical point, > > [...] > > I don't know. Perhaps we should take it to the newsgroup again, but > if the standard really is unclear, I'll surely prefer the simpler > (and intended, according to John Reagan) option of not allowing it. I think a revisit/follow-up in the newsgroup or directly with John Reagan is probably warrented. First, until one can show an explicit, concrete derivation from ISO 10206 requirments which proves GPC's implementation is compliant, there will always be an open question as to whether or not GPC is compliant in this area. Second, if it does turn out that there is indeed a problem with ISO 10206 as it is presently written, John Reagan, as the X3J9 Secretary, needs to be aware of it so the deficiency can be addressed if and when X3J9 undertakes a maintenance revision of ISO 10206. In case there is any doubt, I also prefer the simpler option of not allowing it. (Allowing it would add a great deal of complexity both from language implementors and language users perspectives. There is no real world problem that I'm aware of that would justify that sort of added complexity.) Gale Paeper gpaeper@empirenet.com
Previous mail
Next mail
Unformatted/full headers
Overview 10 days
Subject
Date
Thread
Author
| Author | Subject | Date |
|---|---|---|
| Frank Heckenbach | Extended Pascal question | 21 Apr 2004, 03:44:53 |
Note: This page contains information that does not originate from the owner of this web site, but from the authors of the mails archived. The owner of this web site is not responsible for the content of such information. Any use of that infomation requires the consent of the respective author.
Where WWW addresses (URLs) in the mails archived are marked as hyperlinks, this is only for the comfort of the reader. The content of the web pages linked to like this does not necessarily reflect the opinion of the owner of this web site or of the authors of the mails archived. The owner of this web site is not responsible for the content of such web pages. Those pages are explicitly not to be considered as part of the content of this page, but merely as references.
This page was created by Crystal 0.999 (Linux 2.4.27/i686).