【发布时间】:2013-05-17 20:40:50
【问题描述】:
我是 Haskell 的新手,目前真正困扰我的是为什么制作这些库的人添加了名为 fst 和 snd 的函数,而不是使用像 first 和 second 这样的(正常)名称.后面的名字有什么问题?
我个人觉得这些缩写很荒谬:
“为什么是snd?为什么不是sec、scnd或scd?或者为什么不是fir、frst、ft或frt?”
它只是缺乏风格。 (但同样 - 这是个人意见)
【问题讨论】:
-
为什么POSIX有一个叫做
creat而不是create的函数? -
我喜欢basically the same question, applied to PHP instead of Haskell 的方式,有 105 个赞成票,而这一票仅以反对票结束...
-
@leftaroundabout 是的。 很久 以前,在 SO 严格讨论辩论之前就提出了这个问题,并且今天不会被容忍。 VtC。
-
这个问题会非常好,如果它被编辑为只提出它提出的问题,而不是关闭它,它就会有答案。很明显,使用
fst和snd进行预测没有Haskell 特定甚至Miranda 特定的解释;参见例如Scott “作为格的数据类型” 1975 年,Milner “编程中的类型多态性理论” 1978 年以及后来的所有地方。也许像 p1 和 p2 或 π1 和 π2 这样的东西会更好? -
如果你把名字弄长了,那么用它们代替
\(a,_)->a和\(_,b)->b是没有用的,这就是fst和snd的定义跨度>
标签: function haskell convention