From 02e920b5efeea32238927131b9b12e9c6aaede0f Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Fri, 15 Jan 2010 06:22:12 +1300 Subject: [PATCH] sudoku: update for iota --- extra/sudoku/sudoku-tests.factor | 4 ++++ extra/sudoku/sudoku.factor | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) create mode 100644 extra/sudoku/sudoku-tests.factor diff --git a/extra/sudoku/sudoku-tests.factor b/extra/sudoku/sudoku-tests.factor new file mode 100644 index 0000000000..60babf03a0 --- /dev/null +++ b/extra/sudoku/sudoku-tests.factor @@ -0,0 +1,4 @@ +IN: sudoku.tests +USING: tools.test sudoku ; + +[ ] [ sudoku-demo ] unit-test diff --git a/extra/sudoku/sudoku.factor b/extra/sudoku/sudoku.factor index 555f1e632a..848d647fe0 100644 --- a/extra/sudoku/sudoku.factor +++ b/extra/sudoku/sudoku.factor @@ -19,7 +19,7 @@ SYMBOL: board : box-any? ( n x y -- ? ) [ 3 /i 3 * ] bi@ - 9 [ [ 3dup ] dip cell-any? ] any? + 9 iota [ [ 3dup ] dip cell-any? ] any? [ 3drop ] dip ; DEFER: search @@ -35,7 +35,7 @@ DEFER: search [ assume ] } cond ; -: solve ( x y -- ) 9 [ 1 + 2over attempt ] each 2drop ; +: solve ( x y -- ) 9 [ 1 + 2over attempt ] each-integer 2drop ; : board. ( board -- ) standard-table-style [ @@ -52,7 +52,7 @@ DEFER: search ] each ] with-row ] each - ] tabular-output ; + ] tabular-output nl ; : solution. ( -- ) solutions inc "Solution:" print board get board. ;