Haskell中的Int32到Int

Mik*_*ike 8 haskell

什么函数或一系列函数可以将Int32转换为Haskell中的Int?我知道HashTable.hashString可以转换为Int32,但我需要一个可以转换其他方式的函数.

eph*_*ent 14

ghci> import Data.Int
ghci> fromIntegral (5 :: Int32) :: Int
5
ghci> fromIntegral (5 :: Int) :: Int32
5
Run Code Online (Sandbox Code Playgroud)

  • 欢迎来到多态返回类型!当我第一次见到哈斯克尔时,这些都非常神秘. (2认同)

Dan*_*ton 6

停止.Hoogle时间!......可悲的是,这次Hoogle未能很好地回答这个问题.跳到答案......

fromIntegral :: (Integral a, Num b) => a -> b

(hackage.haskell.org上的文档)

请注意,类型签名fromIntegral表示它将Integral变成任何类型Num.由于Int32具有声明的实例Integral,并且Int具有声明的实例Num,因此该fromIntegral函数将完成该任务.