我经常发现自己用同一类型编写了多个函数。我们将此类型称为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
)列表中的每个符号。