[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A prototype for a binding based approach to proper namespaces
From: |
Vladimir Sedach |
Subject: |
Re: A prototype for a binding based approach to proper namespaces |
Date: |
Sat, 09 May 2020 15:52:29 -0700 |
User-agent: |
mu4e 1.3.10; emacs 26.2 |
Hi Andrea,
The implementation reminds me of how Corman Common Lisp implements
thread-local dynamic binding, minus the chaining of bindings.
Here are some comments on the document:
> potentially could open the door to other interesting options like
> namespace versioning. Different version of the same library could
> then coexist loaded.
This is an interesting idea. In R6RS, library definitions and imports
include optional version information, but if you look at section 7.9
of the R6RS rationale document:
> Implementations are encouraged to prohibit two libraries with the
> same name but different versions to coexist within the same program.
> While this prevents the combination of libraries and programs that
> require different versions of the same library, it eliminates the
> potential for having multiple copies of a library's state
http://www.r6rs.org/final/html/r6rs-rationale/r6rs-rationale-Z-H-9.html
So it seems that the use of R6RS library version numbers is intended
for dependency management only.
I think the same reasoning applies to Elisp. For example, a package
could change the type of arguments it accepts for a customizable
variable. This recently happened in a few places in mu4e. Or a change
in the data structures used in some resource outside of the
namespace, such as a file somewhere on disk.
But versioning information could be used for dependency management if
shared between namespaces, require, and package.el
--
Vladimir Sedach
Software engineering services in Los Angeles https://oneofus.la
- Re: A prototype for a binding based approach to proper namespaces, (continued)
Re: A prototype for a binding based approach to proper namespaces, Helmut Eller, 2020/05/09
Re: A prototype for a binding based approach to proper namespaces, Dmitry Gutov, 2020/05/09
Re: A prototype for a binding based approach to proper namespaces,
Vladimir Sedach <=