[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fwd: Guile in Emacs (was: integer overflow)
Fwd: Guile in Emacs (was: integer overflow)
Mon, 12 Apr 2010 20:57:07 -0400
In case people aren't following the emacs-devel list...
Begin forwarded message:
> From: Thomas Lord <address@hidden>
> Date: April 12, 2010 16:05:39 EDT
> To: address@hidden
> Cc: address@hidden, address@hidden
> Subject: Re: Guile in Emacs (was: integer overflow)
> On Mon, 2010-04-12 at 08:30 -0400, Richard Stallman wrote:
>> When I read about Sun's plan to make TCL the universal scripting
>> language, I decided to oppose that. The plan I chose was to implement
>> Scheme and support other scripting languages by translation into Scheme.
>> Guile is the program I chose to adopt to do this with. That plan
>> is what I am talking about.
>> Whatever history that code had before its adoption for this plan
>> is not what I am talking about.
> Sure. In one sense it was just your use of the word "original"
> as in "original goal" that I was objecting too.
> Yet, there is another aspect of this which I think is
> relevant to "Guile in Emacs" and to your notion of
> supporting other scripting languages -- otherwise I
> wouldn't harp on it:
> In those early days of Guile, after your decision, those
> of us closer to the project discussed at considerable
> length how exactly to support Tcl, Emacs lisp, and
> other languages. Not just how to be able to run programs
> in those languages but how to integrate them into a
> cohesive environment.
> In each and every case we discovered devils in the details
> and realized "Well, we can't." We could make a TCL-like
> language that could run many simple TCL programs but that
> would not be upward compatible - and have that TCL-like
> language nicely integrated with the larger environment.
> We could make an Emacs Lisp style of environment that
> could run some Emacs Lisp code directly but that would
> not be upwards compatible - and have that alternative Emacs
> Lisp nicely integrated with the larger environment.
> But we absolutely could not, for fundamental reasons,
> directly support Tcl and Emacs Lisp with fidelity and
> wind up with a sane programming environment.
> We realized that pretty quickly and tried (but failed) to
> convey to you this notion that we could not promise to
> seamlessly integrate those other languages - but that we
> could offer a reasonable compromise. It was always
> an oversimplifying exaggeration to say that Guile would
> support all of those other languages in any strong sense
> of the word "support". We could offer alternative
> syntaxes. We could offer environments with simplified
> evaluation models and more flexible types. We could
> give people the *feel* of Tcl or Python or Emacs Lisp
> but there was no point in trying to faithfully reimplement
> those languages in detail. We failed miserably at
> communicating that distinction, apparently.
> There was some momentary political convenience, back
> then, around the burning question of which scripting
> language would "win" and take over the world. Would
> Tcl become the ubiquitous scripting language? Python?
> It was an easy story to tell that Guile somehow transcended
> the question for it could be both Tcl *and* Python (*and*
> Scheme) depending solely on user preference. But it was
> clear at the technical level that really Guile could only be
> Scheme, pure and simple, although perhaps offering a
> Tcl-*like* environment and a Python-*like* environment.
> We - meaning you, me, and several others - were sloppy
> back then about making that distinction clear.
> If anything remains of the shared *technical* vision
> of a complete GNU system that is lisp-centric with
> many extensible, self-documenting programs -- and if
> sentiment remains that Scheme is a fine choice for
> extension language -- then I mainly hope that people
> pursuing that vision today won't go down the same rat-hole
> that caught us up back then. "I, alone, survive to tell
> the tale...".
> If you want a half-decent Scheme as your core
> extension language then *make that work first* and don't
> worry so much about compatibility with legacy code
> in those other languages. There are no good answers
> about how to cleanly integrate Emacs Lisp and other
> languages with Scheme at that level. People have
> thought about for, what, something over 15 years now
> and the ones thinking about it today are getting
> stuck going over the very same questions people got
> stuck on 15 years ago.
> Meanwhile, with all the (often interesting and skilled -
> admirable) work that has gone down that rat-hole in
> those years, a thoroughly Scheme-based but not upwards
> compatible Emacs could have been casually produced by,
> say, 10 or 12 years ago. Coulda' Shoulda' Woulda' but
> Didn't, as the saying goes.
> I just hope that the next 10 years of GNU generally
> and Emacs specifically isn't going to be tied down
> to the historic baggage of the "Tcl Wars" and the
> misunderstandings it provoked.
> Someone -- that is to say "someone" -- should just
> rip Emacs Lisp out of the C part of GNU Emacs, bind
> the best parts of that stuff to Guile, and start *there*.
> It's not a small job but it's also not a "more than
> a decade" job. It could have been started much more than
> a decade ago. It'd be, in my view, a giant leap back
> towards the vision of a GNU system that was shared
> among several key GNU hackers back in the early 1990s
> and earlier. And it'd be, in my view, technically sane
> in comparison to some more popular alternatives like
> trying to support Emacs Lisp in detail.
> I'm done. I've said my piece.
|[Prev in Thread]
||[Next in Thread]|
- Fwd: Guile in Emacs (was: integer overflow),
Ken Raeburn <=