我正在尝试调试,并希望能够获得一个返回值类型的函数。 这样的事情有可能吗?
我不想:t,我不想在代码中使用
如:
[showType i | i <- [0..5] ]
返回
[Int,Int,Int,Int,Int]
答案 0 :(得分:8)
Typeable
类在编译时唯一地编码每个类型,并可用于此目的:
import Data.Typeable
showType :: Typeable a => a -> String
showType = show . typeOf
结果为:
*Main> showType (+)
"Integer -> Integer -> Integer"
*Main> showType [1..5]
"[Integer]"
*Main> map showType [1..5]
["Integer","Integer","Integer","Integer","Integer"]
所有这些都说,Bheklilr是对的。你真正想要的可能是不同的东西,所以更多的细节可以帮助我们。
答案 1 :(得分:4)
也许您更想要TypedHoles
之类的东西。它允许你编写_
而不是某个表达式,编译器会告诉你这个“洞”有什么类型,或者应该有什么类型。