1. ホーム
  2. haskell

[解決済み] Haskell Preludeの'const'は何のためにあるのか?

2022-02-10 07:45:58

質問

Haskell Preludeに目を通すと、私は 関数を見る const :

const x _ = x

この機能に関して、関連するものが見つからないようです。

何が言いたいの?どなたか、この関数の使用例を教えてください。

どのように解決するのですか?

高階の関数が持つ柔軟性のすべてを必要としない場合に、高階の関数に渡すと便利です。例えば、モナドシーケンス演算子 >> は、モナドのバインド演算子で次のように定義できる。

x >> y = x >>= const y

ラムダを使うより、いくらかすっきりしています。

x >> y = x >>= \_ -> y

そして、ポイントフリーで使用することもできます

(>>) = (. const) . (>>=)

この場合は特にお勧めしませんが。