阅读haskell关于类型的书,我想重复:t命令的示例:
ghci> :t 'a'
'a' :: Char
ghci> :t True
True :: Bool
ghci> :t "HELLO!"
"HELLO!" :: [Char]
ghci> :t (True, 'a')
(True, 'a') :: (Bool, Char)
ghci> :t 4 == 5
4 == 5 :: Bool不幸的是,我无法在本地安装haskell,这就是为什么我使用ideone.com
但我不明白如何创建相同的样本。
我试过这样做:
main = do
putStrLn "Start"
:t 'a'
putStrLn "Finish"或者这个:
:t 'a'或者:
putStrLn ("Finish" ++ show :t 'a')有没有可能在不安装ghci的情况下显示类型?也许,还有另一个网络小提琴可以做到这一点?
发布于 2021-07-18 11:00:24
可以使用typeOf :: forall a. Typeable a => a -> TypeRep获取TypeRep对象。它要求您的类型是Typeable,但是给出的示例是这样的。
例如:
import Data.Typeable(typeOf)
main = putStrLn ("Finish" ++ show (typeOf 'a'))这将不会打印完整的多态类型,因为在编译时类型是确定的。因此,您可以看到Haskell编译器派生的类型。
https://stackoverflow.com/questions/68428366
复制相似问题