comp.lang.ada
 help / color / mirror / Atom feed
From: Andre Spiegel <spiegel@inf.fu-berlin.de>
Subject: Re: Standard library and distributed systems
Date: 1997/07/03
Date: 1997-07-03T00:00:00+00:00	[thread overview]
Message-ID: <x267usl6i3.fsf@inf.fu-berlin.de> (raw)
In-Reply-To: ECp8CJ.Bn6.0.-s@inmet.camb.inmet.com


Thanks, Tucker, for your detailed reply.  You wrote:

> Rather than removing things from these packages (which could be very
> disruptive to existing Ada 95 code), we could envision
> additional pragmas or rules to make them "safe."    The simplest
> would be to have a pragma Not_Remote_Type(type); which could
> simply mark a given type that happens to be declared in a 
> Remote_Types package as not being allowed as a formal parameter type
> in a remotely callable subprogram.

The operations declared in a Remote_Types package are not "remotely
callable subprograms", are they?  (Each partition that withes such a
package gets its own copy; the only thing that's passed across
partition boundaries are values of _types_ declared in such a
package.)

That means, for example, that Ada.Strings.Bounded doesn't make any
"problematic" use of Ada.Strings.Maps.Character_Mapping_Function (it's
only used as a parameter for some of the subprograms).  It would only
be "problematic" if a Character_Mapping_Function were part of a _type_
declared in Ada.Strings.Bounded.

So how about this rule: a Remote_Types package may "with" a package
that is not pure (and not Remote_Types), _provided_ that it doesn't
make "problematic" use of it.

Maybe such a rule could enhance distributability of general Ada
applications?  The additional rule would be even less expensive (or,
intrusive) than an additional pragma.  (But of course it couldn't solve
the problem of String_Access, so we'd need the pragma also.)




  parent reply	other threads:[~1997-07-03  0:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-07-02  0:00 Standard library and distributed systems Andre Spiegel
1997-07-02  0:00 ` Samuel Tardieu
1997-07-02  0:00   ` Andre Spiegel
1997-07-03  0:00     ` Robert Dewar
1997-07-04  0:00       ` Andre Spiegel
1997-07-02  0:00 ` Tucker Taft
1997-07-02  0:00   ` Robert Dewar
1997-07-03  0:00   ` Andre Spiegel [this message]
1997-07-07  0: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