I am trying to write a support that changes Sudoku and then checks that it is still valid.
However, I'm not sure how to use the "one" - function. Can you give me some hint, please?
prop_candidates :: Sudoku - & gt; Child Prospects Su = Sudoku New SU & amp; IsOkay newSu where newSu = update su aBlank aCandidate aCandidate = oneof [return x | X & lt; - Candidates su aBank] aBlank = oneof [return x | X & lt; Here's more information ...
TypePOS = (Int, Int) Update: Sudoku - & Gt; Status - & gt; Maybe int -> Sudoku Spaces :: Sudoku - & gt; [POS] Candidate :: Sudoku - & gt; Status - & gt; [IT] [return x | X & LT; - (empty example)] :: (Monad M) => [M POS]
I have a core with this support for 3 hours, so any idea is welcome!
What I was running is that you have a type of mixture i.e., aBlank is not a POS , but there is a gene poos , so update a blank aCandidate does not make any sense! In fact, what you want is a way to make an early Sudoku a new Sudoku; In other words, a function
similarly Sudoku :: Sudoku -> General Sudoku Now we can write it:
Similar Sudoku su = a bulk & lt; - element (emptyness) - simple than one [back x | Or even simple:
Similar sudoku < P> and looks like property prop_similar:: sudoku - & gt; Gen Bool prop_similar su = do newSu & lt; - Sasadudoki Suvata (Sudoku Nsu & amp; Ike Oi Nsu) Due to the example
Testable Bull Testable Prop = & gt; Testable (General prop) (arbitrary A, show, testable prop) = & gt; Testable (a -> Sahara) Sudoku -> General Bull is testable as well (to handle example unchecked sudoku ).
No comments:
Post a Comment