This is an all-ruby implementation of choose/fail nondeterministic programming with branch cut, as described in Chapter 22 of Paul Graham's <em>On Lisp</em>[1], or Section 4.3 of <em>SICP</em>[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. :-)
Required Ruby Version
None
Authors
Jim Wise
Versions
- 0.13 March 29, 2013 (17 KB)
- 0.12 January 30, 2012 (16 KB)
- 0.11 January 12, 2012 (16 KB)
- 0.10.1 January 10, 2012 (15 KB)
- 0.10 September 22, 2011 (15 KB)