Looking for haskell Answers? Try Ask4KnowledgeBase
Looking for haskell Keywords? Try Ask4Keywords

Haskell Languageオーバーロードされたリテラル


備考

整数リテラル

小数点のない数字です

例えば0142 、...

Num型のクラスの一部であるfromInteger暗黙的に適用されるので、実際にNum a => a型を持ちます。つまり、 Numインスタンスである任意の型を持つことができます


分数リテラル

小数点付き数字であります

たとえば、 0.0-0.1111 、...

は、 Fractional型のクラスの一部であるfromRational暗黙的に適用されるため、実際にはa => a型を持ちます。つまり、 Fractionalインスタンスである任意の型を持つことができます


文字列リテラル

GHCに言語拡張OverloadedStringsを追加した場合、 Stringに対しても同じことができます。 fromStringは、 Data.String.IsString型クラスからfromString適用されfromString

これは、 StringTextまたはByteStringに置き換えるためによく使用されます。


リストリテラル

リストは[1, 2, 3]リテラル構文で定義できます。 GHC 7.8以降では、これを使用して、 OverloadedLists拡張子を持つ他のリスト様構造を定義することもできます。

デフォルトでは、 []の型は次のとおりです。

> :t []
[] :: [t]

OverloadedLists 、次のようになります。

[] :: GHC.Exts.IsList l => l

オーバーロードされたリテラル 関連する例