9
Haskell RealFloat
typeclass有一個叫做isIEEE
的函數,根據documentation,如果參數是一個IEEE浮點數,則該函數給出'True'(並且可以想象,否則爲False)。爲什麼Haskell的isIEEE總是評估爲True?
但這裏的isIEEE
爲Float
實施:
instance RealFloat Float where
...
isIEEE _ = True
這裏是爲Double
實施:
instance RealFloat Double where
...
isIEEE _ = True
如果isIEEE
總是無條件True
,爲什麼還要用呢?爲什麼要在前奏中呢?
只是因爲只有'RealFloat'附帶GHC服從IEEE754情況下,這並不意味着你不能定義自己的情況下,哪些沒有。 – leftaroundabout
@leftaroundabout等等,你實際上可以定義你自己的浮點類型? –
@WanderNauta這就是類型類的要點,只要你可以提供你可以將類型作爲它的實例的函數。 – Koterpillar