以下是什么类型?

时间:2019-02-19 22:14:47

标签: haskell types

我才刚刚开始学习Haskell新知识,我正在努力确定以下类型:

    1) one x = [x]
    2) three x = (x,x,x)
    3) first x y = x
    4) mult m n = m*n
    5) [(False,’0’),(True,’1’)]

1 个答案:

答案 0 :(得分:1)

  1. one x = [x]是一个接受元素并仅返回包含该元素的列表的类型,因此其类型为one :: a -> [a]
  2. three x = (x,x,x)具有琐碎的类型three :: a -> (a,a,a)
  3. first x y = x看起来像Prelude函数const,类型为first :: a -> b -> a
  4. mult m n = m*n(*)具有相同的类型,即(*) :: Num a => a -> a -> a
  5. [(False,’0’),(True,’1’)]甚至不是一个函数,因此具有简单类型:: [(Bool, Char)]

请记住,您始终可以使用它们的GHCi函数:t返回表达式的类型