2013-04-10 70 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