Knight's tour: Difference between revisions

m
Line 4,116:
 
knightMoves :: [(Int, Int)]
knightMoves = (deltas >>=) . go =<< deltas
((>>=) <*> (\deltas n -> deltas >>= go n))
[1, 2, -1, -2]
where
deltas = [id, negate] <*> [1, 2]
go i x
| abs i /= abs x = [(i, x)]
9,655

edits