guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: namespaces, goops, etc.


From: thi
Subject: Re: namespaces, goops, etc.
Date: Fri, 3 Nov 2000 08:58:16 -0800

   From: "Lars J. Aas" <address@hidden>
   Date: Fri, 3 Nov 2000 17:18:53 +0100

   I've noticed I can use the module system's "define-public" inside
   functions and get internal definitions exported to the toplevel
   namespace.

   I'm curious on whether this is just a side-effect of the
   implementation of the module system, or if it is supposed to work
   like this and people can take advantage of it?

well, here's the documentation for `define-public':

@deffn syntax define-public @dots{}
Makes a procedure or variable available to programs that use the current
module.
@end deffn

so you could argue that the observed behavior is how it is supposed to
work.  however, this strikes me as really ugly; IMHO, `define-public' is
a misfeature and should be deprecated.

consider the case where two internal vars have the same name and both
are bound using `define-public' instead of `define'.  source ordering
then comes into play and the latter usage stomps on the former.  yuk.
sick and wrong.

thi



reply via email to

[Prev in Thread] Current Thread [Next in Thread]