我认为 Haskell 中的元组就像
tuple :: (a,b)
这意味着 a 和 b 可以是相同的类型,也可以是不同的类型
因此,如果我定义一个函数而不给出它的类型,那么当我在 ghci 中编写 :t 函数时,我可能会得到 (t,t1) 或一些不同的类型。那么是否有可能只获得相同的类型而不在函数中定义它。我听说它在 haskell 中是不允许的
所以我不能写一些像
function [(x,x)]=[(x,x,x)]
得到
:t function
function :: [(a,a)]->[(a,a,a)]
这是我正在尝试做的一个练习,这个练习希望我在不定义类型的情况下编写一个函数。例如获取
Bool->(Char,Bool)
当我给
:t function
在 ghci 中。我应该写——
function True=('A',True)
我不允许定义函数的类型部分所以我不能写
function::(Eq a)=>[(a,a)]->[(a,a,a)]
或类似的东西