CVS difference for ais/ai-00204.txt

Differences between 1.3 and version 1.4
Log of other versions for file ais/ai-00204.txt

--- ais/ai-00204.txt	1999/02/03 01:09:12	1.3
+++ ais/ai-00204.txt	1999/02/03 19:10:09	1.4
@@ -271,3 +271,152 @@
 							Randy.
 
 ****************************************************************
+
+From: 	john barnes[SMTP:jgpb@JBINFO.DEMON.CO.UK]
+Sent: 	Wednesday, February 03, 1999 3:13 AM
+Subject: 	ai-204
+
+ Clearly this is going to have to be discussed again.
+
+ I don't have very strong feelings about this topic. I wrote the AI as directed
+ by the meeting and as written up in the minutes. But I thought it would
+ prompt further discussion. Robert's point that the conventions might be well
+defined by some other standard even if only de facto rather than having to refer
+to an actual compiler is a very good one. It's no doubt better to have the
+conventions defined by a standard than by some wretched compiler.
+
+But I think it's untidy and confusing to provide an interfaces package without
+supporting the convention pragma and that was certainly strongly felt at the
+meeting if I recall correctly. However, everyone wasn't present.
+
+ John
+
+****************************************************************
+
+From: 	Erhard Ploedereder
+Sent: 	Wednesday, February 03, 1999 6:58 AM
+Subject: 	Re: AI-00204
+
+>> Interface packages such as Interfaces.Fortran shall not be provided if
+>> the implementation does not support the interfacing pragma for that
+>> language. This applies also to other foreign languages including C and
+>> COBOL.
+
+Bob:
+> I think the ruling is silly.  It's perfectly harmless to have "extra"
+> Interfaces.* packages lying around.  And there's nothing in the RM
+> saying otherwise.
+
+Robert:
+> I find this completely wrong, it is extremely useful to have
+> Interfaces.COBOL around even if there is no COBOL compiler around.
+
+I think it is neither silly nor wrong, just badly worded. It should not
+say "interfacing pragma" but rather "convention pragma".
+
+Look at the comment that prompted this whole issue. Do we consider it to be
+conformant, if somebody types in the package spec, provides some dummy Ada
+bodies that in effect convert Ada to Ada, and that's it ??
+
+This is in gross violation of RM B.2(1), B.5(2) and RM B.5(20), combined with
+1.1.3(17). Put simply: "You are not allowed to provide a package with
+the same name as the predefined one that doesn't do what the RM prescribes, in
+this case that the types have Fortran convention representation."
+
+Erhard
+
+****************************************************************
+
+From: 	Robert Dewar[SMTP:dewar@GNAT.COM]
+Sent: 	Wednesday, February 03, 1999 7:27 AM
+Subject: 	Re: AI-00204
+
+<<I think it is neither silly nor wrong, just badly worded. It should not
+say "interfacing pragma" but rather "convention pragma".
+>>
+
+Nope, that's wrong too.
+
+Interfaces.COBOL is very useful even if you do not support pragma
+Convention (COBOL, xxx).
+
+Remember that Interfaces.COBOL is provided as part of the feature for
+interfacing with COBOL, fine in this context of course you need the
+pragmas.
+
+But if you can't interface with COBOL, because there is no COBOL compiler,
+then of course the RM does not force you to interface with COBOL!!!
+
+However, you can still implement any or all of the relevant section to
+provide useful facilities to a user, providing you implement them
+correctly.
+
+****************************************************************
+
+From: 	Robert A Duff[SMTP:bobduff@WORLD.STD.COM]
+Sent: 	Wednesday, February 03, 1999 10:02 AM
+Subject: 	Re: AI-00204
+
+I really think the ARG has no business modifying the RM unless there's a
+good reason.  There's no support in the RM for this imagined
+restriction.  Therefore, to apply such a restriction, the ARG should
+first argue that there's some concrete benefit to users, which I haven't
+seen.  I've seen John saying it seems untidy, and Erhard being outraged
+at implementor laziness, which may well be true -- bit it's pretty
+marginal.
+
+- Bob
+
+****************************************************************
+
+From: 	Erhard Ploedereder[SMTP:ploedere@INFORMATIK.UNI-STUTTGART.DE]
+Sent: 	Wednesday, February 03, 1999 10:59 AM
+Subject: 	Re: ai-204
+
+Robert writes:
+> Obvoiously the COBOL interfaces package is VERY useful even if you do not
+> support the [convention] pragma.
+
+Hmmm. Interfaces.COBOL might be a special case. Let me replay your argument
+in my words to check whether I got it....
+Because Interfaces.COBOL has all these Display_Format operations, it's
+useful even if B.4(51) ("each type in Interfaces.COBOL is COBOL-compatible")
+is violated. For really interfacing with COBOL at a binary level, you
+obviously need the support of the various pragmas, but for writing text
+files matching COBOL-expectations, the package alone is enough and pretty
+useful.
+
+Is that it ?
+
+(I looked at Interfaces.C, too. And there similar benefits would be much more
+marginal (Is_Nul_Terminated might be useful) and, in my opinion, even
+detrimental if used as a packaged way of unsafe programming,
+c.f., Interfaces.C.Strings.
+For Interfaces.Fortran the benefits are non-existent, since it lacks any
+useful interfaces.
+
+****************************************************************
+
+From: 	Erhard Ploedereder[SMTP:ploedere@INFORMATIK.UNI-STUTTGART.DE]
+Sent: 	Wednesday, February 03, 1999 11:21 AM
+Subject: 	Re: AI-00204
+
+> I really think the ARG has no business modifying the RM unless there's a
+> good reason.  There's no support in the RM for this imagined
+> restriction.
+
+Well, it's a confirmation AI. We're not modifying the RM.
+
+And RM B.2(1), B.5(2), B.5(18) [and analogous sentences for the other language
+packages], combined with 1.1.3(17), are repeated and ample justification to
+call this a !confirmation. How you can read these paragraphs and come to
+a different conclusion is beyond my understanding, but I'm listening :-)
+
+So, if Bob's and Robert's opinion carries, the AI would need to be rewritten
+to be a binding interpretation, nullifying the Annex B paragraphs cited
+above by saying that these types shall be ..., IF pragma Convention is
+supported. I sure hope that at least that's a universally agreed requirement
+or else these Interface packages become a complete joke.
+
+****************************************************************
+

Questions? Ask the ACAA Technical Agent