Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!lll-lcc!ames!ucbcad!ucbvax!SIERRA.STANFORD.EDU!Mendal
From: Mendal@SIERRA.STANFORD.EDU (Geoff Mendal)
Newsgroups: comp.lang.ada
Subject: Re: Restrictions on Ada Main Programs
Message-ID: <12260541023.19.MENDAL@Sierra.Stanford.EDU>
Date: Sat, 6-Dec-86 01:03:20 EST
Article-I.D.: Sierra.12260541023.19.MENDAL
Posted: Sat Dec  6 01:03:20 1986
Date-Received: Wed, 31-Dec-86 04:04:55 EST
References: <8612011601.AA00457@mitre-bedford.ARPA>
Sender: daemon@ucbvax.BERKELEY.EDU
Organization: The ARPA Internet
Lines: 21

The implementation is correct to reject your generic instantiation
as a main program.  A careful reading of LRM 10.1(8) shows that
only a SUBPROGRAM that is a library unit can be a main program.
While 10.1(2) allows generic instantations to be library units,
a subprogram is not the same as a generic instantiation.  Using the
syntagmas in 10.1(2) and the prose in 10.1(8) we find that only
a "proper" subprogram (not an instantiation) can be a main program.

However, I really like the attempt to use the instantiation.  Very
clever in any regard.

And now for the traditional leading question:

  The following compilation unit is compiled in the program library:
     generic
     procedure Main;
  Without deleting or explicitly "emptying" the program library, how
  can one compile a main program named "Main"?

gom (one of the "McKinsy brothers of Ada" as defined by EVB)
-------