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: multiple return values


   Date: Wed, 4 Feb 1998 13:36:43 -0500
   From: Jim Blandy <jimb@red-bean.com>
   Cc: guile@cygnus.com
   Content-Type: text/plain; charset=us-ascii
   Content-Length: 840


   >Indeed, and thee is a nice pattern matching system available for
   >Scheme, written by Andrew Wright and Bruce Duba.

   Cool!

   >The package is written using itself, so you need to use a ``compiled''
   >version.

   *puke*

   That is the kind of cutesy crap that really gets my goat.  Suppose I
   find a bug?  How can I fix it?  I can only rebuild my fixed version
   with the buggy version, and there's no way of knowing whether the bug
   interacts with the fix without pawing through the raw expanded code.

   Oh, it has no bugs, didn't you know that?  It was written in Scheme!
   Oh, you *changed* it...  Well, people who write bugs should suffer.
   Then they won't do it again.

   (To be fair, I don't mean to single out Wright and Duba.  But Schemers
   in general just seem to lap this stuff up.  It's idiocy.  "Reflection"
   does not mean "Navel Contemplation".)

Well, this is a time honored tradition for language development, and
serves several real purposes.  For one thing, it provides a first
level test of correctness, which is important for pattern matching
code, I think.  It also makes the implementation easier if you can use
the power of the package itself.

And, given a working version, it makes generating new versions quite
simple.

The package is small anyway, and the compiled files are very nearly
standard Scheme, so I don't really see this as a problem.

-- 
Clifford Beshers                     Computer Graphics and User Interfaces Lab
beshers@cs.columbia.edu                         Department of Computer Science
http://www.cs.columbia.edu/~beshers                        Columbia University