guile-devel
[Top][All Lists]
Advanced

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

Re: Roadmap and goals?


From: bitwize
Subject: Re: Roadmap and goals?
Date: Mon, 22 Apr 2002 00:26:05 +0200 (CEST)

On 19 Apr 2002, Nicolas Neuss wrote:

> Unfortunately, all those goals are very questionable.  First, non-lisp
> languages get more and more of Lisp's capabilities[1] and the
> advantage is not large any more, especially for the spartanic Scheme
> branch.  Second, my guess is that most applications are written within
> one language, because maintaining the interface between two languages
> is a problem.  Third, replacing Elisp with Common Lisp would probably
> be both easier and better (but is still difficult, see below).
> Fourth, more liberal licenses than the GPL (e.g. some BSD license) or
> GPLed software not maintained by the FSF is also a nice thing[2].
> Fifth, emulating languages in an integrating way is easy to say, but
> difficult to work out (this is proved by Guile not emulating one
> single other language in a reasonable way).

What about .NET? :) (Actually, this too is proof of your point; in order 
to shoehorn certain languages, such as Perl and even Visual Basic, into 
.NET's architecture some pretty significant changes had to be made to 
these languages' syntaxes and paradigms.)

This hacker couldn't care less about the ideology and motivation behind 
Guile. Perl and Tcl annoy me, but Guile is fun and it's useful, and I can 
quickly hack up workable programs with it that would have taken quite a 
long time with another language. (I once wrote a fairly complete, albeit 
non-validating, XML parser in Guile over an evening or two.) It is for 
these reasons that I joined guile-devel not too long ago (after lurking on 
guile-user for X years): I want to help keep Guile strong.

> Where does Guile stand now?  In my eyes, Guile is fighting on a lost
> position.  I will elaborate a little bit on this in the following.

I disagree with this position. There are many things that Guile has going 
for it.

> Second, I have serious doubts that Scheme as a language succeeds (in
> spite of PLT Scheme).  It is quite astonishing that at this time a
> language is propagated as the ultimate weapon, which has neither OO
> support nor modules/namespaces in a standardized way.  It seems that
> the Scheme dogma of accepting only perfect solutions approaches now a
> boundary where only several 90% solutions are available, and thus
> cannot be extended further.  Even inside the Lisp language family,
> Scheme looses against (ANSI) Common Lisp which supplies both a very
> strong OO system and packages in a standardized way.  There are also
> good and free CL implementations, namely CLISP (GPL, only
> byte-compilation, very portable) and CMUCL (public domain, compilation
> to native code, less portable). [3]

As I mentioned before, the fact that "it's GNU" means a great deal to 
Guile. There are a lot of disparate variations of Scheme out there, that's 
true. (Some, such as SIOD, call themselves Scheme but don't adhere to any 
published Scheme standard.) Part of Scheme's problem is its Pascal stigma: 
it's an "educational" language, so no one will use it for any *real* 
work, so why not slap your own umpteenth extension on it. Even 
though Guile is Scheme, it possesses some really robust APIs, particularly 
in the string handling, file, and networking side of things, that make it  
useful for  real-world tasks. It is also central to several GNU projects, 
including  TeXmacs and GNOME. Because it is a living, functional part of 
the GNU  project, Guile is well suited to shake off the Pascal stigma and 
*become* a sort of de facto standard, one whose APIs and paradigms other 
Schemes hopefully will emulate.

The SRFI process, which helps crystallize the Scheme community around some 
good ideas and provide implementations that work across Schemes, is a 
step in the right direction. Maybe more Guile hackers should contribute 
SRFIs that encapsulate Guile's strong points.

> [Third, of course, it is questionable if Lisp itself will survive,
> because the Lisp family as a whole is attacked by other languages like
> Java, C++, ML, Smalltalk/Squeak, ...  But there were Kassandras for
> Lisp all the time during its long life.]

LISP has a lot of things going for it too, but I don't want to start an 
advocacy flamewar. LISPers see enough advantages in LISP that Perl, 
Smalltalk, Java, et al. have yet to match in any significant way. "Those 
who do not understand LISP are doomed to reimplement it, poorly." :) We 
could debate the technical points all we like, but LISP has an ineffable 
nature about it that most other languages lack... or maybe no programmer 
has yet effed it in a suitable manner. In contrast I find Perl's nature to 
be quite effable; I find myself frequently muttering, "This effing 
syntax..." :)

My point is that LISP (and by extension, Scheme (and by extension, 
Guile)) is more than the sum of its parts and will remain a strong 
language for a variety of applications.

> What should Guile do?  In my opinion, there should be a drastic change
> in direction.  First, of course, you should finish the current ?1.6?
> release as fast as possible.  But then you should evaluate several
> other Scheme implementations, as well as CLISP and CMUCL.  If it
> should turn out that Guile has enough merits (apart from the merit
> that it's the Scheme you know), fine, forget my words.  If not, you
> should talk seriously to RMS.  Because then it is time to rethink this
> project and take appropriate actions.  These actions may go from
> joining with SCM on the one side[4] to shifting the whole project
> towards Common Lisp as extension language on the other side (leaving
> the domain "Scheme as an educational language" to PLT Scheme).

AFAIK Guile is a derivative, and extension, of SCM. SCM's goals appear to 
be different from Guile's.

> Concerning Elisp replacement, it would make sense to drop Scheme in
> favor of CLISP, too.  This would make the project much easier, because
> CL and Elisp are comparatively near (especially when you do (require
> 'cl) in Emacs:-).  Further, there are Emacs-like editors written in
> CL, see Hemlock for CMUCL from which one could maybe take some code.
> Also, there may be CL people willing to help, even Erik Naggum (see
> footnote) once planned something like that.  One should keep in mind,
> that it is still a hairy project[5].  But it could succeed, if
> Stallman pushed it.

There are Emacs-like editors written in Scheme too: see MIT Scheme's 
Edwin. :)

> That's all I have to say.  What concerns myself, I have switched to
> Common Lisp about two years ago.  I guess, I'll drop out of the Guile
> mailing list soon.  I want to thank the people that were and are on
> this list.  I learned a lot of things, but I prefer another playground
> now.

Sorry to see you go. That's the way these things go, I guess.

-- 
Jeffrey T. Read
"LOBSTER STICKS TO MAGNET!"





reply via email to

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