2012-02-13 10 views

答えて

10

これは、API indexの説明文flatMapを参照することで解決できます。それは与える:

FilterMonadic 
Stream 
StreamWithFilter 
TraversableMethods 
Iterator 
ParIterableLike 
ParIterableLike 
ParIterableViewLike 
TraversableLike 
WithFilter 
MonadOps 
TraversableProxyLike 
TraversableViewLike 
LeftProjection 
RightProjection 
Option 
WithFilter 
Responder 
Zipped 
ControlContext 
Parser 
12

ルイージの答えは正確ですが、非常に有益ではありません、IMHO。

すべてのコレクションはモナドインターフェイスを実装していますが、flatMapのシグネチャはモナドのフラットマップではありません。彼らはほとんどの時間、モナドのように行動するでしょう。 Luigiによってリストされたクラスのほとんどすべてがコレクションに関連しています。

LeftProjectおよびRightProjectは、Eitherを指す。基本的には、Eitherはモナドではありませんが、一方を「投影」すると、その側はほとんどOptionモナドのように機能します。

Parserは、パーサーコンビネータの基礎を形成するモナドです。

私はControlContextを認識しません。私はそれが継続(モナドでもある)に関連しているのだろうかと思います。ここで

+1

「フラットマップの署名はモナドのフラットマップではありません」とはどういう意味ですか?あなたは陰的な機械を指していますか? – paradigmatic

+1

@paradigmatic、yes。トニーモリスの暴言を参照してください[ここ](http://stackoverflow.com/questions/1722726/is-the-scala-2-8-collections-library-a-case-of-the-longest-suicide-notein -hist/1735694#1735694)。 – missingfaktor

1

はScalazから3のソースファイルへのリンクです:

インスタンス宣言を見てみましょう。これは、標準ライブラリのどのタイプがモナド・インターフェースを満たしているかを知ることができます。

+1

OPはスカラズを参照していません –

関連する問題