comp.lang.ada
 help / color / mirror / Atom feed
From: eachus@spectre.mitre.org (Robert I. Eachus)
Subject: Re: MI for Ada
Date: 1999/02/12
Date: 1999-02-12T00:00:00+00:00	[thread overview]
Message-ID: <EACHUS.99Feb12142926@spectre.mitre.org> (raw)
In-Reply-To: 36C365F8.50E84F94@averstar.com

In article <36C365F8.50E84F94@averstar.com> Tucker Taft <stt@averstar.com> writes:

  > It is probably too soon to tell.  I suggest you design the
  > semantics of the feature.  It may be that there are keywords that
  > work already.

  package Foo is new Bar(X,Y,Z) with body ... end Foo;

  Of course, given the opportunity to add a new body to a subprogram
or package, it would also be useful to be able to define a template
without an implementation:

  generic
    X,Y,Z: Integer;
  abstract package Bar is ... end Bar;

  It would be a very useful extension to the language.  Any one want
to work out the details of the semantics, then add it to gnat as a
language extension?  I suspect that taking it that far is not too much
work, but the next step to allow a new generic to be derived from an
existing and extend the interface is MUCH more work:

   generic
     type W is private;
   package Foo is new generic Bar with
     function Foobar return W;
   end Foo;
--

					Robert I. Eachus

with Standard_Disclaimer;
use  Standard_Disclaimer;
function Message (Text: in Clever_Ideas) return Better_Ideas is...




  reply	other threads:[~1999-02-12  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-02-11  0:00 MI for Ada Brian Rogoff
1999-02-11  0:00 ` Tucker Taft
1999-02-12  0:00   ` Robert I. Eachus [this message]
1999-02-12  0:00     ` Brian Rogoff
1999-02-13  0:00     ` Alexy V Khrabrov
1999-02-14  0:00       ` Nick Roberts
1999-02-15  0:00         ` robert_dewar
1999-02-18  0:00           ` Nick Roberts
1999-02-16  0:00         ` Robert I. Eachus
1999-02-16  0:00           ` robert_dewar
1999-02-16  0:00             ` Robert I. Eachus
1999-02-17  0:00           ` Brian Rogoff
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox