|
|
|
|
|
by ArtB
5045 days ago
|
|
Hmm, I'm confused by "the goal is to find the right balance between backwards compatibility (Emacs Lisp) and forward extensibility (Clojure / JVM)". I assumed the idea was to write emacs in Clojure and all the modules would be in clojure so that it would entirely self-contained system with perhaps macros to make porting from emacs-lisp easier. But now it sounds like you want to write an emacs-lisp emulator in Clojure ? |
|
Because new extensions can then be written in Clojure (or other JVM languages) against the same core API (with shared concepts like "buffer" and "window").
Now the line of what's core and what's extension can be blurred, and while keeping backwards compatibility, one can evolve the entire architecture in Clojure, free from the constraints of the old Emacs code base.
But, easier said than done!
[1] https://github.com/hraberg/shen.clj