From cbef12c629815547e2e08cd20407ae7f82747d74 Mon Sep 17 00:00:00 2001 From: Samuel Tardieu <sam@rfc1149.net> Date: Sun, 24 May 2009 15:43:28 +0200 Subject: [PATCH] Add amb-all and bag-of --- extra/backtrack/backtrack.factor | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/extra/backtrack/backtrack.factor b/extra/backtrack/backtrack.factor index 48bae97699..e4e13c3363 100755 --- a/extra/backtrack/backtrack.factor +++ b/extra/backtrack/backtrack.factor @@ -71,3 +71,9 @@ MACRO: amb-execute ( seq -- quot ) : cut-amb ( -- ) f failure set ; + +: amb-all ( quot -- ) + [ { t f } amb [ call fail ] [ drop ] if ] amb-preserve ; inline + +: bag-of ( quot -- seq ) + V{ } clone [ '[ @ _ push ] amb-all ] keep ; inline