14 comments

[ 4.5 ms ] story [ 40.9 ms ] thread
Someday, hopefully soon, Scheme will join Elisp as an official Emacs language.

http://www.red-bean.com/guile/notes/emacs-lisp.html

As an avid elisper:

No. Just...no.

The lexical scope doesn't make sense for the kind of scripting done in Emacs and having a unified language (unlike vim with many people bolting their preferred language onto it) for the most part is a huge boon.

90% of the people I see rooting for this don't actually write anything for Emacs.

I agree with this sentiment. I like that Emacs has one language for its plugin and extension architecture as opposed to Vim's duck tape system of whatever language you want.

Elisp may not be the best at everything but as an editor scripting language it's quite great.

As I understood it, the goal is not to simply allow Guile alongside Elisp, with the intent to confuse users, but to eventually replace Elisp completely. Guile devs are claiming that their Elisp implementation running on top of guile provides several substantial benefits over Emacs own C-implementation of elisp:

* higher speed

* native threads

* lexical scope

* ffi

* module system

* goops, guiles object system

Emacs is a key GNU project, but to the detriment of the overall project philosophy, it uses an extension language no other GNU project uses and never will use. Elisp may be working for emacs, but it is isolating it from all other apps, since nobody else uses Elisp. The long term goal of GNU is to "emacsify" the whole system, i.e. to enable emacs and other apps to talk to each other over guile es their universal scripting interface.

Do you have any idea how much stuff we've written in Elisp?

It's. Not. Worth. It.

You people don't even listen when we try to explain that lexical scope is unnecessary and potentially even a bad idea.

Threads? Come on. :\",

> You people don't even

I'm not "you people", I'm not affiliated with Guile in any way. However, you are wrecking your brains over something without being fully informed. It is not and never has been intended to _rewrite_ anywthing written in Elisp. Thats why Elisp itself has been to a large part already rewritten in Guile, and it is planned to gut emacs and replace the current C-Elisp engine with the new Guile-Elisp engine. Whether this will or will not work out as intended is a completely different story. But the fact remains that Elisp, in the grand scheme of things, is an isolated island, and as such does not fit into the overall design goals of GNU stated over 20 yrs ago, so there are people working on this. Even Google sponsored two GSoC projects for two years to rewrite Elisp in Scheme.

See:

* http://wingolog.org/archives/2009/01/07/a-brief-history-of-g...

* http://wingolog.org/archives/2010/04/02/recent-developments-...

* http://wingolog.org/archives/2011/08/30/the-gnu-extension-la...

I think the first step is to leverage Guile as a 'better elisp interpreter'. A lot of progress has been made in that direction, lately. Now, if it will ever replace the existing elisp interpreter depends on a lot of things, technical and non-technical. Guile could (potentially) be significantly faster, and stuff like threads, FFI may be nice as well. Anyway, I wouldn't hold my breath :)
DrScheme.
I was going through "The Little Schemer" and reached the point where pen & paper wasn't enough. Installed MIT Scheme but quickly got frustrated by Emacs. Tried DrScheme/DrRacket and it was awesome. Highly recommended
The same thing, I just getting started SICP and I find DrScheme/DrRacket more interactive