comp.lang.ada
 help / color / mirror / Atom feed
From: vsnyder@gyre.jpl.nasa.gov (Van Snyder)
Subject: Idea for Ada 200x: Arguments that are procedures
Date: 1998/07/03
Date: 1998-07-03T00:00:00+00:00	[thread overview]
Message-ID: <6nh9f0$66i@netline.jpl.nasa.gov> (raw)


Procedures that are arguments are restricted in Ada because of the
possibility of copying the pointer to somewhere that has a longer
lifetime than the up-level environment of the procedure.

If an additional attribute were added to formal arguments to indicate
that taking a copy of a procedure pointer is prohibited, restrictions
on procedures that could be arguments could be reduced.

Since "limited" already puts restrictions on assignment, how about
using that word for the purpose of declaring a formal argument for
which it's prohibited to take a copy.  It could only be used to
access a procedure, or passed as an actual argument to a formal
argument that also had the "limited" attribute.

This would let me have, for example, a library package for quadrature
or minimization or differential equations or ... that exports a type
for a procedure pointer argument, and use a procedure that's internal
to my deep-in-the-guts-of-the-system procedure as the actual argument.
I can't do this now, because the type might outlive the procedure, and
therefore a pointer to the procedure might outlive its up-level.

-- 
What fraction of Americans believe   |  Van Snyder
Wrestling is real and NASA is fake?  |  vsnyder@math.jpl.nasa.gov




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

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-07-03  0:00 Van Snyder [this message]
1998-07-02  0:00 ` Idea for Ada 200x: Arguments that are procedures Brian Rogoff
1998-07-02  0:00 ` Robert Dewar
1998-07-03  0:00 ` Steve Whalen
1998-07-03  0:00   ` Robert Dewar
1998-07-03  0:00     ` Brian Rogoff
1998-07-03  0:00   ` Brian Rogoff
1998-07-03  0:00     ` Steve Whalen
1998-07-04  0:00       ` Larry Kilgallen
1998-07-07  0:00       ` Robert I. Eachus
1998-07-07  0:00         ` Brian Rogoff
1998-07-03  0:00 ` Charles Hixson
1998-07-04  0:00   ` Larry Kilgallen
1998-07-06  0:00   ` Dr Richard A. O'Keefe
replies disabled

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