---------- 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