我可以在Haskell代码中使用类型声明吗

我可以在Haskell代码中使用类型声明吗,haskell,Haskell,我是Haskell的新手,我对函数类型声明有一点疑问。假设有一堆整数,我们需要求和并打印出来。我知道这是可行的: main=do 问题是read没有类型Int,它有类型String->Int(出于您的目的)。map函数只接受一个函数作为其第一个参数,您试图说read具有类型Int,这意味着它不是一个函数。您也无法将类型reada=>String->a强制为Int,因此这两个问题都会出错。问题是Read没有类型Int,它有类型String->Int(出于您的目的)。map函数只接受一个函数作为其

我是Haskell的新手,我对函数类型声明有一点疑问。假设有一堆整数,我们需要求和并打印出来。我知道这是可行的:


main=do

问题是
read
没有类型
Int
,它有类型
String->Int
(出于您的目的)。
map
函数只接受一个函数作为其第一个参数,您试图说
read
具有类型
Int
,这意味着它不是一个函数。您也无法将类型
reada=>String->a
强制为
Int
,因此这两个问题都会出错。

问题是
Read
没有类型
Int
,它有类型
String->Int
(出于您的目的)。
map
函数只接受一个函数作为其第一个参数,您试图说
read
具有类型
Int
,这意味着它不是一个函数。您也无法将类型
reada=>String->a
强制为
Int
,因此这两个问题都会出错。

非常感谢!我将其更改为
fmap(map(read::String->Int).words)getContents
,运行正常。非常感谢!我将其更改为
fmap(map(read::String->Int).words)getContents
,它运行正常。