From: "Jean-Pierre Rosen" <rosen.adalog@wanadoo.fr>
Subject: Re: Function Calls by Address
Date: 1999/09/04
Date: 1999-09-05T07:00:15+00:00 [thread overview]
Message-ID: <7qt4dv$fp7$1@wanadoo.fr> (raw)
In-Reply-To: 7qpd5b$1gg$1@nnrp1.deja.com
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1883 bytes --]
Ted Dennison <dennison@telepath.com> a �crit dans le message :
7qpd5b$1gg$1@nnrp1.deja.com...
> I'll agree that Francois might have gone a bit overboard. But I must
> confess I'm one who never has understood the "power" of separates
> either. As near as I can tell, its only power is the ability to split up
> cumbersome files into smaller files without having to go through the
> pain of properly reencapsulating functionality into new packages. Does
> it have other "powers" that I'm missing?
>
Pluggable modules. You can write a big library that needs some
functionnality to be adjusted (depending on the OS, or whatever). If the
functionnality is provided as a "separate", you can change it without even
looking into the (big, complicated) library. On some systems, you would'nt
even need to provide the source of the library, so a customer could provide
it's own version, without being able to see your (proprietary) big library.
Why not use a (child) package for that ? If the separate module needs to
access global data from the package body. Note that if you are clever
enough, you won't expose what the separate procedure needs not to see:
package body pack is
-- data visible to the separate proc goes here
procedure to_be_adjusted is separate;
-- data not visible to the separate proc goes here
...
end pack;
If you use a child package, then the "data visible" must be put in the
private part of the parent, which may have other drawbacks.
In short: there is certainly no definitive "best solution". The best
recommendation is: "know the tools that are available, know their drawbacks
and benefits, and choose the most appropriate for the task at hand on a case
by case basis".
--
---------------------------------------------------------
J-P. Rosen (Rosen.Adalog@wanadoo.fr)
Visit Adalog's web site at http://perso.wanadoo.fr/adalog
next prev parent reply other threads:[~1999-09-04 0:00 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
1999-08-30 0:00 Function Calls by Address Craig Jameson
1999-08-30 0:00 ` Marin David Condic
1999-08-30 0:00 ` Robert Dewar
1999-08-30 0:00 ` Marin David Condic
1999-08-30 0:00 ` Larry Kilgallen
1999-08-30 0:00 ` Robert Dewar
1999-08-30 0:00 ` Robert Dewar
1999-08-31 0:00 ` Martin Gangkofer
1999-08-31 0:00 ` Matthew Heaney
1999-08-31 0:00 ` David Kristola
1999-09-01 0:00 ` Simon Wright
1999-09-02 0:00 ` Francois Godme
1999-09-03 0:00 ` Robert Dewar
1999-09-03 0:00 ` Francois Godme
1999-09-03 0:00 ` Marin David Condic
1999-09-14 0:00 ` Robert I. Eachus
[not found] ` <wcc3dwgb7ii.fsf@world.std.com>
[not found] ` <37E81079.CC2566D9@mitre.org>
1999-09-22 0:00 ` Robert A Duff
1999-09-22 0:00 ` Robert I. Eachus
1999-09-23 0:00 ` Robert Dewar
1999-09-23 0:00 ` Robert A Duff
1999-09-03 0:00 ` David C. Hoos, Sr.
1999-09-04 0:00 ` Robert Dewar
1999-09-05 0:00 ` Francois Godme
1999-09-06 0:00 ` Robert Dewar
1999-09-06 0:00 ` Francois Godme
1999-09-06 0:00 ` Robert Dewar
1999-09-06 0:00 ` Robert Dewar
1999-09-06 0:00 ` Bob Collins
1999-09-07 0:00 ` Pascal Obry
1999-09-07 0:00 ` Pascal Obry
1999-09-07 0:00 ` Francois Godme
1999-09-08 0:00 ` Francois Godme
1999-09-03 0:00 ` Simon Wright
1999-09-03 0:00 ` Robert Dewar
1999-09-03 0:00 ` Ted Dennison
1999-09-04 0:00 ` Jean-Pierre Rosen [this message]
1999-09-05 0:00 ` Ehud Lamm
1999-09-05 0:00 ` Matthew Heaney
1999-09-04 0:00 ` Brian Rogoff
1999-09-05 0:00 ` Robert Dewar
1999-09-05 0:00 ` Robert Dewar
1999-09-05 0:00 ` Robert Dewar
1999-09-04 0:00 ` Mario Klebsch
1999-09-05 0:00 ` Robert Dewar
1999-09-06 0:00 ` Francois Godme
1999-09-05 0:00 ` Brian Rogoff
1999-09-06 0:00 ` Robert Dewar
1999-09-08 0:00 ` Georg Bauhaus
1999-09-05 0:00 ` Geoff Bull
1999-09-07 0:00 ` Michael F. Yoder
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox