[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] amb egg bug/confusion
From: |
Alan Post |
Subject: |
Re: [Chicken-users] amb egg bug/confusion |
Date: |
Mon, 19 Mar 2012 06:55:26 -0600 |
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 to collect
> all the different values its argument can take on, but in your example s
> is not an ambivalent expression -- the fact that s is bound to a value
> produced by amb only makes the let expression ambivalent.
>
> To phrase it more technically: Every amb-collect creates a new dynamic
> scope for backtracking. Any ambivalence introduced in that dynamic scope
> will be resolved and the results will be collected but any outer dynamic
> scope will not be affected.
>
Thomas, John,
Thank you both very much. I did manage to start properly using the
amb egg, and completed a one-off homework assignment:
https://github.com/alanpost/permaculture-design-course/blob/master/guild/README
amb is very neat. I'll likely throw larger datasets and more
interesting constraints at it as I continue to explore this
problem space.
-Alan
--
.i ma'a lo bradi cu penmi gi'e du
- [Chicken-users] amb egg bug/confusion, Alan Post, 2012/03/14
- Re: [Chicken-users] amb egg bug/confusion, Thomas Chust, 2012/03/14
- Re: [Chicken-users] amb egg bug/confusion,
Alan Post <=
- Re: [Chicken-users] amb egg bug/confusion, Matt Welland, 2012/03/19
- Re: [Chicken-users] amb egg bug/confusion, Jörg F . Wittenberger, 2012/03/19
- Re: [Chicken-users] amb egg bug/confusion, Alan Post, 2012/03/19
- Re: [Chicken-users] amb egg bug/confusion, Jörg F . Wittenberger, 2012/03/19
- Re: [Chicken-users] amb egg bug/confusion, Alan Post, 2012/03/19
Re: [Chicken-users] amb egg bug/confusion, John Cowan, 2012/03/14