zee icon indicating copy to clipboard operation
zee copied to clipboard

Intended extensibility mechanism?

Open asthasr opened this issue 2 years ago • 3 comments

I'm curious whether any thought has been given to extensibility yet. Given the emacs references, of course using a lisp seems appropriate, but with Neovim using Lua and VSCode using (Java|Type)script, that might close off future avenues of interoperability.

asthasr avatar Apr 02 '22 14:04 asthasr

Emacs is my main inspiration and I want Emacs users to feel at home, including by having identical default bindings / macros etc.

When it comes to extensibility, my plan is to add a language agnostic plug-in system based on wasm -- so as long as there's a Lisp to wasm compiler, yes, although my immediate focus will likely be on Rust compiled to wasm plugins.

N.B. given the boost in exposure this project recently received, I'm working on expanding README with goals as well as a roadmap and website (as well as release a new version on crates.io)

mcobzarenco avatar Apr 02 '22 18:04 mcobzarenco

Are there drawbacks to using wasm directly as an extension mechanism? I was under the impression that it's a very limited runtime (e.g. no built-in gc). That seems like it could be a bit gnarly. :thinking:

asthasr avatar Apr 04 '22 18:04 asthasr

Regarding lisp-to-wasm, there are a couple of projects that do this. There is wasCm (https://github.com/FemtoEmacs/wasCm), which operates on a form of lisp, as well as schism (https://github.com/google/schism, from scheme and discontinued, but possibly still useful).

gaetgu avatar Apr 06 '22 01:04 gaetgu