Added backtrack library
parent
ceac27d4de
commit
9f002ca524
|
@ -0,0 +1 @@
|
||||||
|
William Schlieper
|
|
@ -0,0 +1,20 @@
|
||||||
|
! Copyright (C) 2008 William Schlieper
|
||||||
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
|
|
||||||
|
USING: kernel continuations sequences namespaces fry ;
|
||||||
|
|
||||||
|
IN: backtrack
|
||||||
|
|
||||||
|
SYMBOL: failure
|
||||||
|
|
||||||
|
: amb ( seq -- elt )
|
||||||
|
failure get
|
||||||
|
'[ , _ '[ , '[ failure set , , continue-with ] callcc0 ] each
|
||||||
|
, continue ] callcc1 ;
|
||||||
|
|
||||||
|
: fail ( -- )
|
||||||
|
f amb drop ;
|
||||||
|
|
||||||
|
: require ( ? -- )
|
||||||
|
[ fail ] unless ;
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
Simple non-determinism
|
Loading…
Reference in New Issue