chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Matt Welland
Subject: Re: [Chicken-users] amb egg bug/confusion
Date: Mon, 19 Mar 2012 09:18:29 -0700



On Mon, Mar 19, 2012 at 5:55 AM, Alan Post <address@hidden> 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
address@hidden
https://lists.nongnu.org/mailman/listinfo/chicken-users


reply via email to

[Prev in Thread] Current Thread [Next in Thread]