

ambit-0.9.1 -- a Gem for choose/fail (amb) non-deterministic programming - jimwise
https://github.com/jimwise/ruby/tree/master/ambit

======
wizard_2
Looks like this is a direct port of pg's version. I have to admit, I haven't
seen callcc before and the concept while similar to closures scares me a bit.
Storing a complete environment in a variable is a new concept to wrap my head
around.

    
    
      This is an all-ruby implementation of choose/fail nondeterministic 
      programming with branch cut, as described in Chapter 22 of Paul Graham’s 
      On Lisp[1], or Section 4.3 of SICP[2].
    
      Due to Ruby containing a true call/cc, this is a much straighter port 
      of Paul Graham’s scheme version of this code than his Common Lisp or 
      my C versions are. :-)

