Guilemacs – Emacs with Guile Scheme
emacswiki.org
emacswiki.org
Another initiative was posted here recently [1].
"GNU Emacs can currently execute Elisp code either interpreted or byte-interpreted after it has been compiled to byte-code ... exploiting libgccjit to achieve code generation using the GNU Compiler Collection (GCC) infrastructure. ... Though still a work in progress ... Native compiled Elisp shows an increase of performance ranging from 2.3x up to 42x with respect to the equivalent byte-code"
1 : https://www.reddit.com/r/emacs/comments/g9vdd0/bringing_gnu_...
https://irreal.org/blog/?p=8687
He addresses many of the "obvious" ideas many of the casuals that appear in these hn threads have.
(define-global cut (x &optional from upto)
(with l (dup x)
(let (j 0
i (if (or (nil? from) (< from 0)) 0 from)
n (\# x)
upto (if (or (nil? upto) (> upto n)) n upto))
(while (< i upto)
(set (at l j) (at x i))
(inc i)
(inc j))
(each (k v) x
(unless (number? k)
(set (get l k) v))))))
The destructuring LET is so nice.Emacs' reader can also be completely overridden by user code. I used this technique to port pg's Arc to elisp: https://repl.it/repls/UnluckySturdyCharactercode#main.el
(If you click "run" and type #\a you'll notice you get "a" rather than a syntax error.)
[1] Lumen lisp: https://github.com/sctb/lumen
> It’s best to call it “GuileEmacs” or “Guile/Emacs” or such to make it clear that it’s still GNU Emacs.
No love for Guile+Emacs?
[1] https://www.gnu.org/software/guile/news/gnu-guile-300-releas...
Is that incorrect?
But to be fair Guile Elisp is doing fairly well.
There are changes happening elsewhere, for example the obligatory rust mashup:
https://github.com/remacs/remacs
gccemacs is probably the most interesting recent development:
[1] https://archive.fosdem.org/2019/schedule/event/guileracket/
Also while it works, it's quite slow at this point in time and, unlike Emacs which rarely if ever crashes, Guilemacs can and will crash.