来自 haskell.org 网站:每个表达式都有一个类型。那么什么是类型
main = putStrLn "Hello, World!"
我想知道 main
的类型是什么是,但整行的类型是什么。另外,是否有可能在 ghci 中以某种方式获得这种类型?我试过了:t (main = putStrLn "Hello, World!")
但这不起作用。
最佳答案
main = putStrLn "Hello, World!"
不是表达式,因此没有类型。这是一个定义,它分配了一个类型为 IO ()
的值。 (由 putStrLn :: String -> IO ()
的评估产生)到名称 main
.
根据定义,可以找到main
的类型:
> :t main
main :: IO ()
关于Haskell 赋值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65563480/