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 09:11:26 -0500
   From: Jim Blandy <jimb@red-bean.com>
   Cc: Guile Mailinglist <guile@cygnus.com>
   Sender: owner-guile@cygnus.com
   Precedence: bulk
   Content-Type: text/plain; charset=us-ascii
   Content-Length: 551


   >(multi-let (((a b) (give-two)))
   >  (display a) ; => 5
   >  (display b) ; => 7
   >  )

   I think this is usually called a pattern-matching let.  Multiple
   return values are not lists.

Indeed, and thee is a nice pattern matching system available for
Scheme, written by Andrew Wright and Bruce Duba.  You can get it at:

   ftp://ftp.nj.nec.com/pub/wright/match.tar.gz

There is documentation in that directory as well.

The package is written using itself, so you need to use a ``compiled''
version.  There is one that targets slib.  I had to paste in module
declarations and make some functions public for use with guile, but
that was it.

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