エントリーの編集
![loading...](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/common/loading@2x.gif)
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント1件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
![アプリのスクリーンショット](https://b.st-hatena.com/bdefb8944296a0957e54cebcfefc25c4dcff9f5f/images/v4/public/entry/app-screenshot.png)
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
7.4. データ型と型シノニムへの拡張
-XEmptyDataDeclsフラグ(または同等のLANGUAGEプラグマ)が指定されていると、構築子なしでデータ型を宣... -XEmptyDataDeclsフラグ(または同等のLANGUAGEプラグマ)が指定されていると、構築子なしでデータ型を宣言できるようになる。例えば、以下のようにである。 data S -- S :: * data T a -- T :: * -> * 構文的にいうと、この宣言は「= constrs」の部分を欠いている。このように定義される型は多相的でも良く、さらにどのような種について多相的でも良いが、種が*でないなら、明示的な種注釈を使う必要がある。(7.13.5. 明示的に種付けされた量化を見よ) このようなデータ型はボトムというただ一つの値しか持たないが、「幽霊型(phantom type)」を定義するときには便利なことがある。 Haskellは、データ型に文脈を与えることを許している。例えば以下のように。 data Eq a => Set a = NilSet | ConsSet
2014/10/24 リンク