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