Re: [Chicken-users] amb egg bug/confusion

2012-03-19 Thread Alan Post
On Thu, Mar 15, 2012 at 01:38:19AM +0100, Thomas Chust wrote: On Wed, 2012-03-14 at 18:23 -0600, Alan Post wrote: [...] (pretty-print (let ((s (amb 0 1 2))) (amb-collect s))) [...] produces: [...] (0) [...] Hello, to me this behaviour looks correct. amb-collect is supposed

Re: [Chicken-users] amb egg bug/confusion

2012-03-19 Thread Matt Welland
On Mon, Mar 19, 2012 at 5:55 AM, Alan Post alanp...@sunflowerriver.orgwrote: On Thu, Mar 15, 2012 at 01:38:19AM +0100, Thomas Chust wrote: On Wed, 2012-03-14 at 18:23 -0600, Alan Post wrote: [...] (pretty-print (let ((s (amb 0 1 2))) (amb-collect s))) [...] produces: [...]

Re: [Chicken-users] amb egg bug/confusion

2012-03-19 Thread Alan Post
On Mon, Mar 19, 2012 at 09:18:29AM -0700, Matt Welland wrote: On Mon, Mar 19, 2012 at 5:55 AM, Alan Post [1]alanp...@sunflowerriver.org wrote: On Thu, Mar 15, 2012 at 01:38:19AM +0100, Thomas Chust wrote: On Wed, 2012-03-14 at 18:23 -0600, Alan Post wrote: [...]

Re: [Chicken-users] amb egg bug/confusion

2012-03-19 Thread Alan Post
On Mon, Mar 19, 2012 at 10:05:19PM +0100, Jörg F. Wittenberger wrote: On Mar 19 2012, Alan Post wrote: On Mon, Mar 19, 2012 at 09:18:29AM -0700, Matt Welland wrote: On Mon, Mar 19, 2012 at 5:55 AM, Alan Post A local-to-me ecologist is interested in sitting down and brainstorming, I hope

[Chicken-users] amb egg bug/confusion

2012-03-14 Thread Alan Post
I'm confused by the following behavior in the amb egg: (require-extension extras amb) (pretty-print (amb-collect (amb 0 1 2))) (pretty-print (let ((s (amb 0 1 2))) (amb-collect s))) (exit) produces: (0 1 2) (0) I would expect both forms to produce (0 1 2). What am I missing? I'm

Re: [Chicken-users] amb egg bug/confusion

2012-03-14 Thread Thomas Chust
On Wed, 2012-03-14 at 18:23 -0600, Alan Post wrote: [...] (pretty-print (let ((s (amb 0 1 2))) (amb-collect s))) [...] produces: [...] (0) [...] Hello, to me this behaviour looks correct. amb-collect is supposed to collect all the different values its argument can take on, but in your

Re: [Chicken-users] amb egg bug/confusion

2012-03-14 Thread John Cowan
Alan Post scripsit: (pretty-print (let ((s (amb 0 1 2))) (amb-collect s))) You're assuming that the result of amb is an amb object that you can bind to a variable, but that's not how amb works. It provides a non-linear flow of control in the evaluation of its arguments, but once it