5
私はInt
とInteger
の両方を使用するプログラムを持っています。これは、関数のいくつかがかなり大きな結果を返すためです。私はどこでもfromIntegral
を使用することに飽き飽きしており、コンパイル時にHaskellにInt
とInteger
の区別を無視させる方法があるのだろうかと思っていました。HaskellはIntsとIntegersを無視できますか?
私はInt
とInteger
の両方を使用するプログラムを持っています。これは、関数のいくつかがかなり大きな結果を返すためです。私はどこでもfromIntegral
を使用することに飽き飽きしており、コンパイル時にHaskellにInt
とInteger
の区別を無視させる方法があるのだろうかと思っていました。HaskellはIntsとIntegersを無視できますか?
解決方法:プログラムからInt
を削除し、すべてInteger
を使用してください。 geekosaurに記載されているように、the generic functions from Data.List(例:genericLength
)を使用できます。特定のプログラムコードを提供した場合、より具体的な提案をすることができます。
いいえありません。それらが異なるタイプであり、異なるプロパティであるという事実を無視すると、Haskellと同じようにタイプされた言語で悪いことになります。私はそれが時々苦痛であることに同意するが、違いを無視すると悪化するだろう。ハスケルが提供する型安全性の全体的なポイントを見落としています。 –
いいえ、ありません。そしてそれは良いことです:型の安全性。しかし、より短い型名の変換を定義することができます:) –
GHCでは、少なくともIntegerは内部的にはIntを内部的に使用するので、Intを使用することは必ずしも意味をなさないこの場合。 – geekosaur