我经常发现自己用同一类型编写了多个函数。我们将此类型称为FuncType。我可能会这样写:

funcA :: FuncType
funcB :: FuncType
funcC :: FuncType
funcD :: FuncType

-- Implementations

感觉上有很多不必要的输入(例如在键盘上敲击而不是声明功能类型)。也许有一些方法可以更简洁地做到这一点?我想要的东西看起来像:
(funcA, funcB, funcC, funcD) :: FuncType

-- Implementations

我真的试图用谷歌搜索,但是我空了。如果这不是语言的功能,为什么不呢?我想念什么吗?如果我发现自己需要这样做,我在做错什么吗?

最佳答案

做没有括号的尝试。

funcA, funcB, funcC, funcD :: FuncType

Haskell 2010 report中,您可以在chapter 4 (Declarations and Bindings)中看到类型签名(gendecl)如下所示:
vars :: [context =>] type

vars看起来像这样:
var-1 , … , var-n

正是您要查找的表格。

旁注:如果Haddock在该类型签名周围找到该文档,则它将应用该文档(vars)列表中的每个符号。

08-27 12:25