Ask HN: How much would you give to a non-profit to rewrite emacs in scheme?
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 ] threadI 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.
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.
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.