Haskell 名字在哪里;第「;来自部分应用的中缀运算符?

Haskell 名字在哪里;第「;来自部分应用的中缀运算符?,haskell,category-theory,Haskell,Category Theory,在Haskell中,我们使用术语“section”来表示中缀位置中使用的部分应用函数。例如,对于函数foo::a->b->c和值x::a和y::b,我们有两个部分 s1 = (x `foo`) :: b -> c == \b -> foo x b 及 然而,在范畴理论中,f的g部分被定义为f的右倒数(因此f.g==id) 我认为这两个定义之间没有明显的联系。例如,s1显然不是foo的反义词,至少在Hask中不是。我想s1甚至不必在Hask中有一个倒数 范畴理论定义是哈斯凯尔定义的来

在Haskell中,我们使用术语“section”来表示中缀位置中使用的部分应用函数。例如,对于函数
foo::a->b->c
和值
x::a
y::b
,我们有两个部分

s1 = (x `foo`) :: b -> c == \b -> foo x b

然而,在范畴理论中,
f
g
部分被定义为
f
的右倒数(因此
f.g==id

我认为这两个定义之间没有明显的联系。例如,
s1
显然不是
foo
的反义词,至少在Hask中不是。我想
s1
甚至不必在Hask中有一个倒数


范畴理论定义是哈斯凯尔定义的来源吗?如果是,如何定义?

正如评论中所指出的,哈斯凯尔从米兰达(和奥威尔)那里得到了这些章节。大卫·特纳说他是从理查德·伯德和大卫·威尔那里得到这个主意的

我刚和理查德·伯德聊过。他说他不记得这个名字是从哪里来的,但他认为是大卫·威尔创造的。不幸的是,大卫·威尔去年去世了,所以我们可能永远也不会知道。但是,理查德承认是他说服了大卫·特纳和菲尔·瓦德勒用他们的语言添加章节

这是Wile论文中的一页,这是第一次提到“章节”

它可能来自“array section”操作,主要用于Fortran,特别是用于列或行提取。这是有意义的,如果您考虑使用两个参数函数来创建查找表。

我猜这两个完全不相关。我把“节”解释为:你取<代码>(x+y)< /代码>,砍掉其中的一部分(取一个部分),然后考虑剩下的。虽然平淡无奇。我不知道,但我会努力找出答案。米兰达语言有章节,由大卫·特纳设计。Miranda对Haskell的设计产生了重大影响。从Miranda手册第9章:确认:章节的概念是由Richard Bird(牛津大学编程研究小组)和David Wile(南加州大学信息科学研究所)提出的。谢谢你的检查。我从来没有仔细考虑过,但是很多其他的东西都是基于范畴理论的,这似乎也是可能的。
s2 = (`foo` y) :: a -> c == \a -> foo a y