An introduction to Names: practical namespaces for Emacs-Lisp
endlessparentheses.com
An introduction to Names: practical namespaces for Emacs-Lisp
1–6 of 6 posts
Re: An introduction to Names: practical namespaces for Emacs-Lisp
#2Sometimes, when you avoid solutions for political reasons, you end up with something worse for political reasons. Sometimes the world is frustrating.
Re: An introduction to Names: practical namespaces for Emacs-Lisp
#3So, because RMS doesn't like CL packages we get something that is clearly inferior to CL packages and implemented in a very hacky way (a macro you wrap around all the forms in a given .el file). Sometimes, when you avoid solutions for political reasons, you end up with something worse for political reasons. Sometimes the world is frustrating.
Re: An introduction to Names: practical namespaces for Emacs-Lisp
#4I.e. I would prefer
(require 'externalpackage)
(define-namespace thispackage-
(defvar ::foo "yow") ; foo is explicitly local, and
; since it is short, an extra
; "::" does not make much
; difference
(externalpackage-frobnicate ::foo) ; frobnicate is external
)
to this, which is how the package works currently: (require 'externalpackage)
(define-namespace thispackage-
(defvar foo "yow") ; Some things like defvar
; magically don’t need ::
(::externalpackage-frobnicate foo) ; Ugly, and I need to do this
; for *every* non-local symbol,
; making them even longer!
)Re: An introduction to Names: practical namespaces for Emacs-Lisp
#5I think I’d prefer it if the symbols to be prefixed with a namespace required a :: instead of having to prefix every external call with ::. I.e. I would prefer (require 'externalpackage) (define-namespace thispackage- (defvar ::foo "yow") ; foo is explicitly local, and ; since it is short, an extra ; "::" does not make much ; difference (externalpackage-frobnicate ::foo) ; frobnicate is external ) to this, which is h…
Re: An introduction to Names: practical namespaces for Emacs-Lisp
#6So, because RMS doesn't like CL packages we get something that is clearly inferior to CL packages and implemented in a very hacky way (a macro you wrap around all the forms in a given .el file). Sometimes, when you avoid solutions for political reasons, you end up with something worse for political reasons. Sometimes the world is frustrating.