エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
非可述多相に触れる: GHC の ImpredicativeTypes 拡張 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
非可述多相に触れる: GHC の ImpredicativeTypes 拡張 - Qiita
この記事では、マイナーGHC拡張の一つである ImpredicativeTypes について解説してみようと思います。こ... この記事では、マイナーGHC拡張の一つである ImpredicativeTypes について解説してみようと思います。これが必要になる場面はほぼないと思います。 ここのコード例は GHC 8.0.2 と 8.2.2 でテストしています。他のバージョンでの結果は保証しません。 まずは、非可述的 (impredicative) じゃない、通常の多相からおさらいしていきましょう。 多相 一つの関数やデータ型を任意の型に対してに適用できることを、(パラメーター)多相と呼びます。便利ですね! data Maybe a = Nothing | Just a -- Maybe Int や Maybe String, Maybe (Maybe Bool) などが使える double :: (a -> a) -> a -> a double f x = f (f x) -- double :: (Int -

