---------- Forwarded message ----------
Date: Mon, 20 Jul 2009 21:02:38 +0200 (CEST)
From: Kjetil S. Matheussen <k.s.matheus...@notam02.no>
To: Bill Schottstaedt <b...@ccrma.stanford.edu>
Cc: cmd...@ccrma.stanford.edu, guile-devel-requ...@gnu.org
Subject: Re: [CM] funny scheme code



On Mon, 20 Jul 2009, Bill Schottstaedt wrote:

For some reason, this code strikes me as funny:

(let ((j (lambda () 0))
        (k 0))
 (do ((i (j) (j))
          (j (lambda () 1) (lambda () (+ i 1))))
         ((= i 3) k)
    (set! k (+ k i))))

would you believe 6?  Maybe I need a vacation.


A slight modifications makes Guile (the one included
with fedora 11) crash:


[kje...@ttleon bin]$ guile
guile> (let ((j (lambda () 0))
...       (k 0))
...   (do ((i (j)
...           (j))
...        (l (lambda ()
...             1)
...           (lambda ()
...             (+ i 1))))
...       ((= i 3) k)
...     (set! k (+ k i))))
Segmentation fault
[kje...@ttleon bin]$
[kje...@ttleon bin]$
[kje...@ttleon bin]$ guile --version
Guile 1.8.6
Copyright (c) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
2007, 2008 Free Software Foundation
Guile may be distributed under the terms of the GNU General Public
Licence;
certain other uses are permitted as well.  For details, see the file
`COPYING', which is included in the Guile distribution.
There is no warranty, to the extent permitted by law.
[kje...@ttleon bin]$


_______________________________________________
Cmdist mailing list
cmd...@ccrma.stanford.edu
http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist


Reply via email to