Knight's tour: Difference between revisions

Content added Content deleted
(→‎{{header|Haskell}}: Slight disaggregation, pruned out some surplus magic from a list.)
Line 3,230: Line 3,230:
knightMoves :: [(Int, Int)]
knightMoves :: [(Int, Int)]
knightMoves =
knightMoves =
let deltas = (<$> [1, 2]) =<< [id, negate]
let deltas = [id, negate] <*> [1, 2]
in deltas >>=
in deltas >>=
(\i -> deltas >>= (bool [] . return . (i, )) <*> ((abs i /=) . abs))
(\i -> deltas >>= (bool [] . return . (i, )) <*> ((abs i /=) . abs))