On 22-Oct-1998, David Barton <[EMAIL PROTECTED]> wrote:
> S. Alexander Jacobson writes:
>    Programmers and organizations need control over which functions and
>    datastructures they expose to others.  Gather nodes without a notion of
>    public/private do not provide this control.
> 
> I am confused.  Why on earth not?  Only things in the export list of
> the gather nodes are exposed.

There's nothing stopping the user from directly importing modules
other than the gather module.  Indeed, the use of gather modules
at all is just a convention.

>    But gather nodes do not prevent other programmers from importing
>    implementation modules directly and bypassing the gather nodes.
>    There should be some facility for specifying which modules of a package
>    are publicly visible and which are purely for use by other modules within
>    the package (or local cluster).
> 
> There is a distinction between setting up a convention and enforcing
> it; I would suggest that defining an enforcement mechanism in the
> language is overspecifying the language definition.

I would tend to disagree, because if privacy is enforced by the
language, then (1) the programmer can be sure that it will be
respected and (2) the compiler can use the information to
perform optimizations such as specialization and dead code
elimination that otherwise might not be possible.

> This should
> properly be left to the programming environment.  On a Unix system, it
> could be implemented by granting group and world read privileges only
> to the public gather modules.

That doesn't work unless you use different uids when compiling
different modules, which would be impossible in many situations
and ridiculously inconvenient in almost all situations.

> In a configuration controlled system,
> it can be controlled by the CC system.

Perhaps, but standard configuration systems such as RCS and CVS
don't provide that sort of control -- they only provide per-user
access control similar to (and with the same problems as)
Unix permissions.

-- 
Fergus Henderson <[EMAIL PROTECTED]>  |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>  |  of excellence is a lethal habit"
PGP: finger [EMAIL PROTECTED]        |     -- the last words of T. S. Garp.


Reply via email to