CVS difference for ais/ai-00262.txt

Differences between 1.1 and version 1.2
Log of other versions for file 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