Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 既是类别又是单子的类型构造函数的名称?_Haskell_Agda_Category Theory - Fatal编程技术网

Haskell 既是类别又是单子的类型构造函数的名称?

Haskell 既是类别又是单子的类型构造函数的名称?,haskell,agda,category-theory,Haskell,Agda,Category Theory,类型构造函数F::*->*->*->*->*->*有没有标准名称 return :: x -> F a a x bind :: F a b x -> (x -> F b c y) -> F a c y 第一个参数是逆变函子,第二个和第三个参数是协变函子?特别是,这是否符合范畴理论中的任何类型的结构 这些行动引起了一场战争 join :: F a b (F b c x) -> F a c x 使它看起来像某种“内函子范畴中的范畴”的操作,但我不确定如何将其形式化

类型构造函数
F::*->*->*->*->*->*
有没有标准名称

return :: x -> F a a x
bind :: F a b x -> (x -> F b c y) -> F a c y
第一个参数是逆变函子,第二个和第三个参数是协变函子?特别是,这是否符合范畴理论中的任何类型的结构

这些行动引起了一场战争

join :: F a b (F b c x) -> F a c x
使它看起来像某种“内函子范畴中的范畴”的操作,但我不确定如何将其形式化

编辑:正如chi指出的,这与索引单子相关:给定一个索引单子

F' : (* -> *) -> (* -> *)
我们可以使用Atkey结构

data (:=) :: * -> * -> * -> *
    V :: x -> (x := a) a
然后定义

F a b x = F' (x := b) a

得到我们想要的单子。不过,我还是想知道这个更为有限的结构是否为人所知。

正如评论中所指出的,这是罗伯特·阿特基在他的论文中提出的参数化单子的概念。这对应于范畴理论中丰富了内函子范畴的范畴概念

对于一个类别
C
是指对于
C
的每个对象
X
Y
,Hom对象
Hom(X,Y)
V
的对象,并且存在给予身份和组成的态射,
I->Hom(X,X)
Hom(Y,Z)xHOM(X,Y)->Hom(X,Y)
。某些idenity和associativity条件必须保持,对应于类别的恒等式和associativity的通常要求

C
上的monad
M
可以看作是一个单对象范畴,它丰富了
C
上的内函子。由于只有一个对象
X
,因此还有一个Hom对象
Hom(X,X)
,即
M
。返回操作产生一个恒等态射,一个自然变换
I->M
,连接操作产生一个复合态射,一个自然变换
mxm->M
。然后,恒等式和结合性条件与单子的条件完全对应


C
上,参数取自某个集合
S
的参数化单子
M
可以被视为一个类别,其
S
元素作为对象,丰富了
C
的内函子。Hom对象
Hom(X,Y)
mxy
,问题中描述的
返回
连接
操作再次产生所需的态射族

它看起来类似于一个索引单子,但不完全相同(?)哦,是的,很好的一点,这里有一个联系。我仍然称它为(,不是)索引单子的特例,它只是在索引中有一些额外的性质。例如,索引状态monad符合这种模式。(罗伯特·阿特基(Robert Atkey)在我链接的论文中介绍了这些,因此麦克布莱德对“at key”类型的双关语命名为
:=
)@BenjaminHodgson谢谢,这正是我想要的!如果你把它作为答案贴出来,我会接受的。(罗伯特·阿特基甚至预见到了一个问题,我想我会遇到他的张量积要求。)