From eee5f208121dc0fa46e4cd2b73103abccb72a14c Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 15 Oct 2018 00:15:02 -0700 Subject: [PATCH] note --- csp/aima.rkt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/csp/aima.rkt b/csp/aima.rkt index 135d2319..703a41b4 100644 --- a/csp/aima.rkt +++ b/csp/aima.rkt @@ -135,7 +135,7 @@ ;; todo: incorporate `yield` (let backtrack ([assignment (make-hasheq)]) (match (select_unassigned_variable assignment csp) - [#false (and (goal_test csp assignment) assignment)] + [#false (and (goal_test csp assignment) (yield assignment))] [var (cond [(for/or ([val (in-list (order_domain_values var assignment csp))] @@ -147,6 +147,7 @@ [else (restore csp removals) #false]))] [else (unassign csp var assignment) #false])])))) +;; todo: make multiple results work (define/contract (solve* csp [solver backtracking_search] [finish-proc values] #:count [solution-limit +inf.0]) (($csp?) (procedure? procedure? #:count integer?) . ->* . (or/c #f (non-empty-listof any/c)))