diff --git a/extra/backtrack/backtrack.factor b/extra/backtrack/backtrack.factor index 9bef16d609..48bae97699 100755 --- a/extra/backtrack/backtrack.factor +++ b/extra/backtrack/backtrack.factor @@ -29,6 +29,10 @@ MACRO: checkpoint ( quot -- quot' ) [ 1quotation ] assoc-map ] bi '[ _ 0 unsafe-number-from-to nip _ case ] ; -: if-amb ( true false -- ) +: if-amb ( true false -- ? ) [ [ { t f } amb ] [ '[ @ require t ] ] [ '[ @ f ] ] tri* if - ] with-scope ; inline + ] amb-preserve ; inline : cut-amb ( -- ) f failure set ;