I hope Emacs guys will finish the GuileEmacs[1] project.<p>They listed 3 main advantages:<p>"The first immediate advantage is that Elisp will execute faster, because Guile uses a compiler tower with many optimization passes and ultimately compiles to Guile VM bytecode, which is more efficient than current Elisp bytecode. In the future, Guile is likely to implement some forms of native JIT as well as AOT compilation as well.<p>A second advantage is that it will be easier to implement some additional language features for Elisp which the Guile compiler tower and VM are capable of, like a full numeric tower (infinite-sized integers, exact rational numbers, imaginary numbers, etc.), record types (like an improved defstruct), CLOS-like OOP, an FFI, composable continuations, a module system, hygienic macros, multiple-value returns, and threads.<p>A third advantage is all Guile APIs/libraries becoming available to Elisp code, no matter what language they’re implemented in, because different languages on the Guile VM can inter-operate quite well, especially if they’re both a Lisp. C-implemented functions (“subrs” in Elisp terminology), Elisp functions, Scheme procedures, etc. all compile to the same “procedure” data type, which may appear in Elisp symbols’ function-slots, be bound to Scheme variables, and are otherwise first-class objects in both environments which can be funcalled or applied explicitly or by the language’s normal syntactic way of calling functions. Similarly, other data types are unified between the languages; Elisp integers and exact Scheme integers, inexact Scheme numbers and Elisp floats, Elisp cons cells and Scheme pairs, symbols, etc. are the same data type across the languages. (Strings are an exception though; see below.) Therefore one can generally use a library written in another language as if it were written in the same language."<p>And looks like there is some progress still: [2]<p>Here is the current TODO list [3], if someone wants to help.<p>[1] <a href="https://www.emacswiki.org/emacs/GuileEmacs" rel="nofollow">https://www.emacswiki.org/emacs/GuileEmacs</a><p>[2] <a href="https://lists.gnu.org/archive/html/guile-devel/2016-03/msg00028.html" rel="nofollow">https://lists.gnu.org/archive/html/guile-devel/2016-03/msg00...</a><p>[3] <a href="https://www.emacswiki.org/emacs/GuileEmacsTodo" rel="nofollow">https://www.emacswiki.org/emacs/GuileEmacsTodo</a>