如何在haskell中编写身份函数

Rn2*_*2dy 3 haskell

我有一个像这样的类型的函数:

functionX :: [String] -> ([Integer] -> [Integer])
Run Code Online (Sandbox Code Playgroud)

它有点像映射函数,它将特定的String映射到类型为的函数.因为我需要处理调用functionX [],我认为这个调用应该返回一个叫做身份函数的东西,或者其他什么,我该怎么写呢?

ram*_*ion 6

id被预定义为haskell中的标识函数.它有类型id :: a -> a.

如果您愿意,您可以轻松定义自己的:

myIdentityFunction :: a -> a
myIdentityFunction a = a
Run Code Online (Sandbox Code Playgroud)

  • @baboonWorksFine:Cogwheel是对的.身份函数的返回类型由其输入类型参数化.由于除了返回之外它不对输入做任何事情,因此它对输入的类型没有任何限制.在Haskell中,类型签名中的小写字母(如`id :: a - > a`)表示这些符号代表一个类型参数,而不是像`String`或`Integer`这样的具体类型. (3认同)
  • 在Haskell中,这些类型不称为"通用",而是"多态".在Haskell的上下文中,"泛型"完全意味着其他东西. (3认同)
  • `functionX [] = id` (2认同)