Reimplementing GNU Emacs, with backward compatibility, was one of the
original intents of Guile, but that never happened. (I won't get into
the reasons I know of, but a big indirect one was not due to any fault
of Guile or its people, IMHO, nor were they likely even aware of it.)
Implementing Emacs Lisp as a transformation to `racket/base` (as opposed
to a bytecode interpreter) seems doable, but nontrivial. You have to
handle dynamically-scoped variables, you have to implement the buffer
primitives efficiently, and (ideally) you need to permit the same
debugging interface (the Emacs stepper was way ahead of Racket, but
relies on a simple interpretation model). Emacs is built upon a core of
"primitives", some of them impressive, some kludgey, and then tons of
often-kludgey Emacs Lisp atop the primitives.
An alternative is to forget about Emacs Lisp backward-compatibility, and
just reimplement an Emacs-like editor/framework in Racket. DrRacket has
a little bit of Emacs nature, but that was not the goal of DrRacket (nee
DrScheme); if you implemented a Racket Emacs-like editor/framework from
scratch, I think it would end up very different than DrRacket, and more
nimble. The result of a non-backwards-compatible implemented in Racket
could also be less-kludgey. You might also think of it not as an
editor, but as an alternative GUI framework (and build in an HTML5
option from the start, while you're thinking at that level).
Neil V.
Greg Davidson wrote on 07/02/2015 03:36 PM:
Is there interest in creating a Gnu Emacs Lisp Racket Language, along with the
underlying APIs (perhaps tied to DrRacket) sufficient to compile and run Gnu
Emacs Lisp extension packages? Is there prior or ongoing work for such a
project?
For some years there has been an attempt to port Gnu Emacs to run under Guile
Scheme. A big stumbling block is the vast amount of extensions written in
Emacs Lisp and continuing development thereof. Racket seems to be a *much*
better platform for such a project than Guile, don't you think?
_Greg (a long-time ambivalent Emacs user tired of Emacs Lisp)
--
You received this message because you are subscribed to the Google Groups "Racket
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.