This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Planned presentation at The Bazaar


>>>> In message <199810212057.QAA17905@huis-clos.mit.edu>
>>>> On the subject of "Re: Planned presentation at The Bazaar"
>>>> Sent on Wed, 21 Oct 1998 16:57:00 EDT
>>>> Honorable Maciej Stachowiak <mstachow@mit.edu> writes:
 >> sds@goems.com writes:
 >> >
 >> > ... to its logical end. (http://www.goems.com/~sds/tool.html)
 >> I love the web pages there!
thanks!

 >> ((lambda (x) (list x (list (quote quote) x)))
 >>  (quote (lambda (x) (list x (list (quote quote) x)))))

cool! can I quote this on my page? (with proper reference, of course; is
this original by you?)

 >> > When a "killer app" (like Emacs) has a reasonably good extension
 >> > language (like ELisp), people start writing everything in this extension
 >> > language, like newsreaders (gnus), web browsers (w3), spreadsheets
 >> > (dismal) and computer algebra systems (calc).
 >> >
 >> > It is time to make the next step: from using an "extension" language
 >> > (like guile) to extend applications to full-fledged powerful
 >> > general-purpose language with a good library (I hint in the direction of
 >> > ANSI Common Lisp here, but I would settle for any similarly powerful
 >> > language).  With shared libraries, it doesn't matter whether your
 >> > applications are extended with a 1MB libguile or 2MB libclisp, but it
 >> > will matter for the users whether they will have to reinvent hash
 >> > tables, structures and arrays.
 >> 
 >> I agree with you, but I think Guile is actually moving in this
 >> direction, i.e. an embeddable language with the scope of Common Lisp
 >> but based on a Scheme core. In particular, it already has hash
 >> tables, structures and arrays (all these features could be
 >> implemented better, but this is actually being done). 

These are not standard scheme (R5RS) features.  Other R5RS extensions
could implement these differently, and voila - we will be with all the
different `schemes' where we were with various lisps in the early
80-ies, when CL was started.  Why not use the results of 15 years of
progress now, instead of reinventing the wheel like MS does?

We are getting another ELisp here - a language strongly identified with
its implementation.  Soon, SCWM et al will not be extensible "with
scheme" but only with "Guile", the crucial difference being that you
cannot replace implementation - you are stuck.

IMO, standardization here is crucial - it makes the application
developer independent from from the extension-language developer, so
that if someone comes up with a better implementation, you can easily
switch. 

 >> (btw, libguile is 380k stripped, not 1M and I'd like to see a
 >> libclisp that comes within an order of magnitude of that).

Well, CLISP is a 1.5 mb executable.  Size is not a big deal.  An extra
MB matter little these days.

 >> I know tastes vary, but I personally would much rather use a
 >> hypothetical Common Scheme than Common Lisp.
    ^^^^^^^^^^^^!

Exactly!
Now, the only advantages of Scheme over CL are simplicity and smallness.
When they are gone from Common Scheme, what will the advantages be?
Why not stick with the existing CL, with several robust implementations,
rather than reinvent the wheel?

-- 
Sam Steingold (http://www.goems.com/~sds) running RedHat5.1 GNU/Linux
Micros**t is not the answer.  Micros**t is a question, and the answer is Linux,
(http://www.linux.org) the choice of the GNU (http://www.gnu.org) generation.
All generalizations are wrong.  Including this.