"Alfred M\. Szmidt" <[EMAIL PROTECTED]> writes:

> If and only if one considers globally shared mutable namespaces
> broken.  People with a lispish background don't.

They do: most Lisp derivatives and Scheme implementations have
state-of-the-art module systems that provide many ways to avoid name
clashes for instance (you probably know the one of Guile).

Jonathan might add that Lisp-like languages are (close to?) capability
systems.  Since all objects, including procedures, are first-class, you
rarely need to rely on a global namespace: you can simply pass around
objects.  In fact, programs should rarely use top-level bindings: these
are mostly used when interacting with a user via the REPL for instance.

In Guile, it is possible to create "confined" modules that can only see
the bindings imposed by R5RS, using `#:pure' [0].

Thanks,
Ludovic.

[0] 
http://www.gnu.org/software/guile/docs/guile-ref/Creating-Guile-Modules.html#Creating%20Guile%20Modules


_______________________________________________
L4-hurd mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/l4-hurd

Reply via email to