CVS difference for ais/ai-00262.txt
--- ais/ai-00262.txt 2001/02/16 02:04:46 1.1
+++ ais/ai-00262.txt 2001/02/16 02:48:49 1.2
@@ -420,5 +420,75 @@
Tuck, would a proposal on this line address your objection??
****************************************************************
+
+From: Robert A Duff
+Sent: Thursday, February 15, 2001 8:14 PM
+
+Randy suggests:
+
+> Syntax for this seems hard to come up with. The best I can come up with
+> would be:
+>
+> <context_clause>
+> package <Name> is
+> <public declarations>
+> private is separate;
+> end <Name>;
+>
+> <context clause>
+> separate (<Name>)
+> package <Name> private is
+> <private declarations>
+> end <Name>;
+
+If I were designing the language from scratch, I would put the "imports"
+(with_clauses) *inside* the thing importing. And the private part would
+be a separate syntactic entity, presumably in a separate file. Or it
+wouldn't exist at all.
+
+But we're stuck with private parts. Sigh.
+
+I suggest this syntax:
+
+ <context_clause>
+ package <Name> is
+ <public declarations>
+ end <Name>;
+
+ <context clause>
+ package <Name> private is
+ <private declarations>
+ end <Name>;
+
+Presumably, most compilers would require that the private part "exist"
+when compiling clients, and when compiling the visible part itself.
+No need to make it look like a subunit, IMHO.
+
****************************************************************
+
+From: Randy Brukardt
+Sent: Thursday, February 15, 2001 8:33 PM
+
+> I suggest this syntax:
+>
+> <context_clause>
+> package <Name> is
+> <public declarations>
+> end <Name>;
+>
+> <context clause>
+> package <Name> private is
+> <private declarations>
+> end <Name>;
+>
+> Presumably, most compilers would require that the private part "exist"
+> when compiling clients, and when compiling the visible part itself.
+> No need to make it look like a subunit, IMHO.
+
+The problem with that is that a compiler couldn't tell the difference
+between a package spec that has a separate private part, and one that has no
+private part at all. We fixed problems like that in Ada 95, I don't think
+we'd want to reintroduce them. So there has to be some sort of stub in the
+package spec.
+
****************************************************************
Questions? Ask the ACAA Technical Agent