1

実世界の Haskell でのモナドに関する章を読む。do 表記の脱糖に出くわしました。特にpattern <- action.

-- file: ch14/Do.hs
doNotation3 =
  do pattern <- act1
     act2
     {- ... etc. -}
     actN

上記の例は、次のように脱糖されます。

-- file: ch14/Do.hs
translated3 =
  let f pattern = do act2
                   {- ... etc. -}
                   actN
      f _     = fail "..."
      in act1 >>= f

let 句に 2 つのパターン マッチング ケースを含める方法を理解するのに苦労していますか?

同じ let 句にf patternandを含める方法がわかりません。f _let 節に複数のパターン マッチを含めることができるかどうかを調べてみましたが、私が見た限りでは、ほとんどの人が case ステートメントを使用しています。

ここで実際に何が起こっているのかを理解するのに助けが欲しいですか?

4

1 に答える 1