Ask HN: How much would you give to a non-profit to rewrite emacs in scheme?

3 points by blintson ↗ HN
I think part of the reason Guile failed is that it just sort of petered out. I think any attempt to replace elisp with scheme will have to start with a bang to overcome network effects. The hypothetical nonprofit would wait until they had enough money to do so, and then start development. (They could hold the money and any interest in an escrow account to reassure donors.)

Personally, I hate dynamic scoping and having 2 namespaces. Also, whenever I see a piece of emacs is written in C I think it's best to just use the C function as written and not even try to understand it. Having scheme all the way down would dramatically lower the psychological barrier to fiddling with low-level functions like font-rendering. (i.e. I don't think it would have taken till version 23 to get anti-aliased fonts if it was scheme all the way down)

What do you all think? Bad idea? Good idea? Do you also hate lisp-2s and dynamic scooping?

3 comments

[ 1.7 ms ] story [ 16.3 ms ] thread
Climacs and Hemlock have existed for many years, but there's been no flood of users. Both are high-quality emacs-like editors written in common lisp; both have many extensions for development, mail, news etc.

I can't imagine a donation-supported project going from scratch would be substantially more successful just because it used Scheme instead of CL.

Climacs: http://common-lisp.net/project/climacs/

CMUCL Hemlock: http://www.cons.org/cmucl/hemlock/

Portable Hemlock: http://common-lisp.net/project/phemlock/

P.S.

I agree with your goals: I really don't enjoy elisp at all. It reminds me just enough of CL and Scheme to be sick at what it lacks.

Edit: Maybe it makes sense to hire a marketer or five? Also, lots of eye candy.

1. The longer we wait the more elisp is gonna be out there and the more painful continuing to maintain existing elisp, and the eventual transition will be. Nobody wants to be the one to muck through it all(for free), but the payoff if the project is successful is so huge I think the risk-to-reward ratio makes sense. Also, rewriting emacs would beat the hell out of most coding jobs out there.

2. Scheme was made to be as minimalist a language as possible, making it easier to wrap your head around the whole language. And more importantly, lowering the learning curve a little. (I've been bit in the ass by inconsistencies in how elisp handles things before.)

3. SICP is in scheme. I think it'd be great for the language people learn 'hello world' in to be very similar or identical the language they mod. their text editor in. A single smooth experience, instead of the jarring shock when you bump against elisps rough edges.

4.Again, lisp-1. I believe I could've spent lot less time writing in emacs-lisp if it had a single namespace. It certainly makes it easier to have code-as-data.

Your reply seems to discuss elisp, not Common Lisp. elisp is not CL. Scheme and CL have more in common than elisp and CL or elisp and Scheme. (OO/MOP, namespacing, modern compilers, lexical scope)

My assertion was that there are already very sophisticated alternatives to emacs, written in a real, modern language.

elisp is terrible, but the failure of CL-based emacs makes it clear that popularity is more important than ease of use or ease in learning. I don't see how the use of Scheme would make a difference.