comp.lang.ada
 help / color / mirror / Atom feed
From: agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!ne ws.sei.cmu.edu!ajpo.sei.cmu.edu!wellerd@ucbvax.Berkeley.EDU  (David Weller)
Subject: Re: Extending protected types in 9X.
Date: 17 Aug 93 11:23:36 GMT	[thread overview]
Message-ID: <1993Aug17.072336.21830@sei.cmu.edu> (raw)

In article <CBvrzz.LF7@zeno.fit.edu> woodward@cs.fit.edu (Bill Woodward) writes
:
>
>I've found the following references from the Ada 9X AARM version 2.0 that 
>seem to preclude type extensions for protected types.
> 

Oh, how I love a straight man :-)

>[deletia]

>Is this correct? and if so Why? (my personal quess is that it would be an
>implementation headache to allow type extensions for protected types).
>

As Tucker may vouch, this is my favorite subject.  Colin Atkinson
and I have written a paper on this very subject.  It will be
published in the proceedings of Tri-Ada '93 (look for it in your
local bookstores soon!   NOT!).  

The Reader's Digest version is:  No, protected types cannot be
extended.  Nor can tagged types become "protected".  While it
is true you may nest one kind of type within the record structure
of the other, you fail to acquire the implicit benefits of that
nested type.  If you spend a little time on it, you can see that
extending protected types (or protecting tagged types) can turn into a
small concurrency nightmare.  However, protected types were not
really intended to be used in this manner (they were primarily
intended for small, shared regions of memory that would be accessed
by several tasks concurrently).  

We have proposed a syntax that will (ok, should) solve the problem
of protecting extended types.  We intend to tinker with the GNAT
compiler to include this new syntax, flesh it out, then annoy
people by banging our shoes on the table and insisting it be
part of Ada 0X.  It should be great fun. :-)  Alas, our proposal,
submitted a little under a year ago, was too late to be seriously
considered for inclusion in the Ada 9X language.



-- 
type My_Disclaimer is new Standard.Disclaimer with record
	AJPO, SEI : Cognizance := Disavow_All_Knowledge;
end record;--)

             reply	other threads:[~1993-08-17 11:23 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-08-17 11:23 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!cis.ohio-state.edu!ne [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-08-17 20:05 Extending protected types in 9X eng.ufl.edu!usenet.ufl.edu!zeno.fit.edu!woodward
1993-08-18 23:18 David Weller
1993-08-20  0:25 Harry Koehnemann
1993-08-21  2:19 Robert I. Eachus
1993-08-23 17:00 Tucker Taft
replies disabled

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