fugafuga.write

日々のログ

2018-03-26から1日間の記事一覧

すごいH本 part90

モナド則 ある型がMonadのインスタンスとなっていることは、その型が真にモナドであることを保証しない。 真にモナドになるために、ある型はモナド則を満たす必要がある。 左恒等性 return x >>= f と f x は等価である。 return がある値を最小限の文脈に入…

すごいH本 part89

騎士の旅 チェス盤の上にナイトの駒が1つだけ乗っており、ナイトを3回動かして特定のマスまで移動させられるかという問題を解く。 type KnightPos = (Int, Int) moveKnight :: KnightPos -> [KnightPos] moveKnight (c,r) = do (c', r') <- [(c+2,r-1),(c+2,…