From: mbk@inls1.ucsd.edu (Matt Kennel)
Subject: Re: Mut. Recurs. in Ada9X w/o Breaking Encaps.? (LONG)
Date: 2 Oct 1994 23:33:30 GMT
Date: 1994-10-02T23:33:30+00:00 [thread overview]
Message-ID: <36ng0a$4bt@network.ucsd.edu> (raw)
In-Reply-To: 1994Oct2.164105.13127@swlvx2.msd.ray.com
John Volan (jgv@swl.msd.ray.com) wrote:
: That's my fear as well. That's why I've been trying very hard to find
: an Ada9X solution. Eiffel can do decoupled mutual recursion standing on its
: head. Smalltalk virtually swims in a sea of decoupled mutual recursion
: (trivial in a typeless language).
: I agree wholeheartedly with the *goal*, but not with the *means* you suggest.
: Goal: Some kind of "forward declaration" that crosses package boundaries.
: (Good and worthy goal.)
: Means: Some way for package specifications to use access types in other
: packages that *haven't been compiled yet*. (Horrible means, terrible
: implications, shudder, shudder :-)
: Actually, I have a better idea. Let's take a bit of inspiration from a
: notion that is already intrinsic to the design of Ada: Although a package is
: considered to be a single, self-contained, organic entity -- a *unit* of program
: modularity -- nevertheless it is syntactically broken up into two *parts* that
: present complementary *views* of that single unit -- two views which can be
: *separately compiled*. They are: (1) the package specification, which presents
: the *interface* view of the package, and (2) the package body, which presents
: the *implementation* view of the package.
: All that is really needed is to a break off a third syntactic part that can
: offer a view of the package where we can make "forward declarations" -- or
: rather, where "incomplete" declarations could be tolerated, because they
: will eventually be completed in the package specification.
Eeek. Sorry I disagree here. Remember, the road to C++ was paved with good
intentions.
Instead of adding complexity, subtract it. Declare _ex cathedra_
"recursive definitions are allowed". Let the compiler implement.
--
-Matt Kennel mbk@inls1.ucsd.edu
-Institute for Nonlinear Science, University of California, San Diego
-*** AD: Archive for nonlinear dynamics papers & programs: FTP to
-*** lyapunov.ucsd.edu, username "anonymous".
next prev parent reply other threads:[~1994-10-02 23:33 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
1994-09-27 16:52 Mut. Recurs. in Ada9X w/o Breaking Encaps.? (LONG) John Volan
1994-09-27 18:48 ` Mark A Biggar
1994-09-29 1:46 ` John Volan
1994-09-29 13:57 ` Tucker Taft
1994-09-29 17:20 ` Bjarne Stroustrup <9758-26353> 0112760
1994-09-30 1:38 ` Tucker Taft
1994-09-30 12:33 ` Bjarne Stroustrup <9758-26353> 0112760
1994-09-29 18:37 ` John Volan
1994-09-29 19:34 ` David Weller
1994-09-30 22:13 ` John Volan
1994-10-02 3:31 ` Andrew Lees
1994-09-30 1:47 ` Tucker Taft
1994-09-30 13:30 ` John Volan
1994-09-29 18:10 ` R. William Beckwith
1994-10-03 0:33 ` Cyrille Comar
1994-09-28 14:01 ` Norman H. Cohen
1994-09-29 2:12 ` John Volan
1994-09-29 14:01 ` Tucker Taft
1994-09-29 18:37 ` Norman H. Cohen
1994-09-29 9:48 ` Magnus Kempe
1994-09-29 13:10 ` Magnus Kempe
1994-09-29 18:05 ` Tucker Taft
1994-09-30 10:20 ` Mut. Recurs. in Ada9X w/o Breaking Encaps.? Magnus Kempe
1994-09-30 13:22 ` Tucker Taft
1994-10-01 1:24 ` Mut. Recurs. in Ada9X w/o Breaking Encaps.? (LONG) Adam Beneschan
1994-10-01 12:01 ` Magnus Kempe
1994-10-01 18:43 ` Mark A Biggar
1994-10-02 16:41 ` John Volan
1994-10-02 23:33 ` Matt Kennel [this message]
1994-10-03 8:07 ` Mut. Recurs. in Ada9X w/o Breaking Encaps.? Magnus Kempe
1994-10-03 12:14 ` Mut. Recurs. in Ada9X w/o Breaking Encaps.? (LONG) Robert I. Eachus
1994-10-04 2:12 ` R. William Beckwith
1994-10-04 16:00 ` John Volan
1994-10-05 11:42 ` Robert I. Eachus
1994-10-05 21:09 ` Matt Kennel
1994-10-03 20:29 ` Harry Koehnemann
1994-09-29 13:35 ` John Volan
1994-09-30 20:27 ` Norman H. Cohen
1994-10-01 1:47 ` John Volan
1994-10-01 20:44 ` Tucker Taft
1994-10-03 11:29 ` Robert I. Eachus
1994-09-30 22:46 ` Matt Kennel
1994-10-01 2:11 ` John Volan
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox