[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Guile in Emacs (was: integer overflow)

From: Ken Raeburn
Subject: Fwd: Guile in Emacs (was: integer overflow)
Date: 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.
> -t

reply via email to

[Prev in Thread] Current Thread [Next in Thread]