2016-05-29 125 views
1

符號f >.> g = g . f是什麼意思?具體來說,點周圍的兩個>符號表示什麼?在Haskell中,符號>。>代表什麼?

+1

從我所看到的,使用雙'''的慣例表示一種「方向」。你可以讀到這是將'f'的結果送入'g',這就是函數組合的「相反方向」。 – Dair

+6

'>。>'是一個不可分割的運算符符號。它代表一個功能。它的單個字符不代表任何東西,就像'print'中的'r'一樣。在Haskell中,您可以定義新的運算符符號。你可以定義'>。>'或'+++ <> +++'或'>>><<<'或' - = + = - '來做任何你想做的事情。有些庫恰好將'f>。> g'定義爲'g。 F'。 –

回答

2

它只是一個操作符的名稱;運營商也可能被命名爲foo>>>>.>或其他東西,只要它在Haskell中是合法的名稱即可。

這些符號的領域特定含義可能已由作者分配,特別是與同一個庫中的其他名稱有關,但在這種情況下,我懷疑是否存在更深一層的含義 - 它只是反向函數組合運營商。

+2

如果它是一個反向組合運算符(它應該在GHCi中用':t(>。>)'來確定),那麼應該注意的是使用['>>>'](http:// hackage) haskell.org/package/base/docs/Control-Arrow.html#v:-62--62--62-)而不是基礎庫。 – leftaroundabout