On Mon, Mar 19, 2012 at 5:55 AM, Alan Post <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:
> > > [...]
> > >   (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.
>

Wow, another permaculturist on the chicken scheme list, what is the
probability of that? I got my design certification just over a year ago.
Nice work on the guild design! Do you have further plans for the code?


> -Alan
> --
> .i ma'a lo bradi cu penmi gi'e du
>
> _______________________________________________
> Chicken-users mailing list
> Chicken-users@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/chicken-users
>
_______________________________________________
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users

Reply via email to