2016-05-29 3 views
1

f >.> g = g . fという表記は何ですか?具体的には、ドットの周りの2つの記号はどうしますか?ハスケルでは、表記法>。>を表していますか?

+1

私が見てきたことから、double>を使用するための規約は、ある種の「方向」を示しています。これは 'f'の結果を' g 'に変換したもので、これは関数の構成の「反対方向」の一種です。 – Dair

+6

'>。>'は分かれない演算子シンボルです。これは関数を表します。その個々の文字は何も表しません。単に 'print'の' r'が何も表していないのと同じです。 Haskellでは、新しい演算子シンボルを定義できます。 '>。>'や '+++ <> +++'や ''><<<'や ' - = + = - 'を定義して、何でもしても構いません。いくつかのライブラリは、 'f> .g 'が' gと同じであることを定義します。 f 'である。 –

答えて

2

これは単なる演算子の名前です。オペレータは、ハスケルの正当な名前である限り、fooまたは>>>>.>などの名前が付けられている可能性があります。

シンボルのドメイン固有の意味は、特に同じライブラリ内の他の名前との関連で割り当てられている可能性がありますが、この場合は深い意味があると思います。オペレーター。

+2

逆アセンブル演算子(GHCiで ':t(>。>)で決定する必要がある)の場合は、[' >>> '](http:// hackage。代わりにベースライブラリからhaskell.org/package/base/docs/Control-Arrow.html#v:-62--62--62-) – leftaroundabout