Subject: Re: Is LISP dying?
From: Erik Naggum <erik@naggum.no>
Date: 1999/07/18
Newsgroups: comp.lang.lisp
Message-ID: <3141322425464039@naggum.no>

* rrt@persephone.joh.cam.ac.uk (Reuben Thomas)
| I may just be muddying the waters, but I read Csaba's comment as meaning
| that it's easier to implement Emacs in Scheme than in Lisp, and Craig's as
| that it's no easier to implement Scheme than Lisp.  These seem to be at
| cross-purposes.

  of course it's easier to implement Emacs in Guile than in C, but Guile is
  implemented in C, which makes it much harder to implement Emacs.  because
  any Scheme used in the real world will accumulate approximately 6 billion
  special-purpose functions that do very small things because Scheme does
  not support abstractions conveniently and nobody can agree on how to do
  it inconveniently, Guile will do a full circle and be approximately 360
  times bigger than Common Lisp (except all the OO stuff will be glued on
  inefficiently, because OO is complex and Scheme is simple and elegant or
  so says the book, therefore the OO stuff is always too complex, so yet
  another attempt is always needed as soon as the last attempt approaches
  useful asymptotically from below), with cultural differences in naming
  and argument conventions and such, and then someone will come along and
  write a Common Lisp layer on top of everything, just like cl.el because
  Emacs Lisp actually sucks, but at least we know _how_ it sucks, unlike
  Guile, which will suck in entirely new, and much improved, ways.

  also, Emacs is easier to implement in Guile because it hasn't actually
  been done, whereas we know exactly how hard it was to do it in C and a
  dynamically scoped Lisp (and nobody will ever do _that_ again, which also
  means it's trivially easier to do it Guile, simply because someone is
  actually trying to do that.)  and obviously, whoever thought it would be
  easier had ignored the fact that Guile Emacs needs to implement Emacs
  Lisp, too, considering the millions of lines of really crappy Emacs Lisp
  out there that gets run at completely random times because it has wound
  up in default.el and .emacs and such, having been copied all over the
  globe across amazingly lossy connections that each introduce a minor
  mistake on every copy, and equally amazingly, doesn't work at all from
  version to version of Emacs, or from the system admin's equally messed up
  changes to default.el from week to week as users complain.  oh, joy!

  this is Emacs.  this is Guile.  this is Emacs on Guile.  any questions?

#:Erik, who thinks Guile is a bigger mistake than MULE
-- 
@1999-07-22T00:37:33Z -- pi billion seconds since the turn of the century