【发布时间】:2012-01-12 05:41:29
【问题描述】:
是否可以编写一个函数arity :: a -> Integer 来确定任意函数的元数,这样
> arity map
2
> arity foldr
3
> arity id
1
> arity "hello"
0
?
【问题讨论】:
-
我相信使用类型系统的巧妙技巧是可能的。在 haskell 中搜索可变参数或多参数函数。
-
我认为这是一个有趣的问题,我对 max taldykin 的回答感到惊讶,但我确实想知道 - 你会用这样的功能做什么?
-
@Frerich 在提出这个问题的时候,我正在阅读 Stepanov 和 McJones 的 Elements of Programming,他们介绍了类型属性
Arity(F),它返回F的输入数量。我很好奇我是否可以实现他们在 Haskell 中定义的一些功能。
标签: haskell introspection arity