2013-04-10 96 views
4

我在本文中找到以下代码(http://hseeberger.wordpress.com/2010/11/25/introduction-to-category-theory-in-scala/)。Scala中难以理解的语法

trait GenericCategory[->>[_, _]] { 
    def id[A]: A ->> A 
    def compose[A, B, C](g: B ->> C, f: A ->> B): A ->> C 
} 

我想不通的语法旁边的特质的名字

[->>[_,_]] 
+0

可能的重复[在Scala类型参数,有什么 - >>和 - >>>是什么意思?](http://stackoverflow.com/questions/9050107/in-scala-type-parameters-what-do-和 - 均值) – 2013-04-10 13:05:41

+0

与单个参数的方法一样,两个参数的泛型类型/类型构造函数可以以中缀形式使用。这可能会让这个名字更加明智一些,因为它大概是以这种方式使用的。 – 2013-04-10 16:12:18

回答

8

这是一个higher-kinded type,在this introduction在这research paper很好地描述。

您可能会觉得令人困惑的原因是->>是较高主干类型的名称 - 它可能也被称为Arrow

+0

伟大的引用,你会介意添加这个相同的答案到[原始问题](http://stackoverflow.com/questions/9050107/in-scala-type-parameters-what-do-and-mean)所指的@ OM-NOM-NOM? – 2013-04-10 14:01:22

+0

好点,我做到了。 – axel22 2013-04-10 14:04:48