2012-04-22 10 views
5

私はIntIntegerの両方を使用するプログラムを持っています。これは、関数のいくつかがかなり大きな結果を返すためです。私はどこでもfromIntegralを使用することに飽き飽きしており、コンパイル時にHaskellにIntIntegerの区別を無視させる方法があるのだろうかと思っていました。HaskellはIntsとIntegersを無視できますか?

+4

いいえありません。それらが異なるタイプであり、異なるプロパティであるという事実を無視すると、Haskellと同じようにタイプされた言語で悪いことになります。私はそれが時々苦痛であることに同意するが、違いを無視すると悪化するだろう。ハスケルが提供する型安全性の全体的なポイントを見落としています。 –

+8

いいえ、ありません。そしてそれは良いことです:型の安全性。しかし、より短い型名の変換を定義することができます:) –

+3

GHCでは、少なくともIntegerは内部的にはIntを内部的に使用するので、Intを使用することは必ずしも意味をなさないこの場合。 – geekosaur

答えて

13

解決方法:プログラムからIntを削除し、すべてIntegerを使用してください。 geekosaurに記載されているように、the generic functions from Data.List(例:genericLength)を使用できます。特定のプログラムコードを提供した場合、より具体的な提案をすることができます。

関連する問題