何かのためにDSumを使用したいと思います。 DSumを使用するには、1つの型引数をとる 'タグ'型が必要です。 data Tag a where
AFirst :: Tag Int
ASecond :: Tag String
しかし、これをライブラリで内部的に使用したいと思います。私はユーザーに古いデータ型を取ることを暴露するインターフェースを望んでいます。 data S
で型推論を理解すること、我々は型シグネチャf :: a -> aでいくつかの機能fを持っている場合は、Haskellは、次の種類を推測することができます知っている: f "alpha"はタイプ[Char]を持つことになります。 f 1234が持つタイプNum a => a f Justはそうでタイプa -> Maybe a を持っているでしょう。以下のコードを参照する 、機能result_sm :