AMB

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

AMB

Sean P. DeNigris
Administrator
Is anyone familiar with the AMB project, installable from SqMap catalog?

I got excited by the description's assertion that "it can do incredible
things" (it even provided an example. After reading the description, tests,
code, and references, I have an inkling what it does, but don't quite
understand what is "incredible" about it and don't want to miss the magic!!

The catalog description is:

This is the "ambigous", "nondeterminist", "angelic" operator aka amb

... more seriously described as a declarative control flow statement able to
enumerate over finite domains all values that make a program terminate. It
uses continuations to walk the tree of possible tuples, backtracking when
the program fails.

The amazing thing is the simplicity of the code: four short or very short
methods on the instance side, the class side methods only providing
syntactic sugar.

And it can do incredible things such as:

AMB assert: [:string :n :char | (string occurrencesOf: char) = n]
        over: #('maman' 'barbapapa' 'guiliguili' 'arthur' 'chtulu')
        and: #(2 4 1)
        and: #($m $b $a $i $u)

See AMBTest for more magic.

I would have been unable to implement this by myself ! This is a port of the
code by Dorai Sitaram which is the reference documentation for amb:

http://www.ccs.neu.edu/home/dorai/t-y-scheme/t-y-scheme-Z-H-16.html#node_chap_14



-----
Cheers,
Sean
--
Sent from: http://forum.world.st/Squeak-Beginners-f107673.html
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners
Cheers,
Sean
Reply | Threaded
Open this post in threaded view
|

Re: AMB

David T. Lewis
_______________________________________________
Beginners mailing list
[hidden email]
http://lists.squeakfoundation.org/mailman/listinfo/beginners