素晴らしい一連の投稿で、 Eric Lippert は、モナドのように振る舞い、それらのいくつかに対して return と bind を実装する、.NET 型のいわゆる「モナド パターン」の概要を説明しています。
モナド型の例として、彼は次のように述べています。
Nullable<T>
Func<T>
Lazy<T>
Task<T>
IEnumerable<T>
2 つの質問があります。
これはHaskell
Nullable<T>
のようなもので、いくつかのアクションをバインドすることは、いつでも失敗する可能性のある一連の操作を表します。リストモナド ( ) が非決定性を表していることは知っています。モナド(モナド )として何をするのかさえちょっと理解しています。と の単項セマトニクスとは? それらを束縛するとはどういう意味ですか?Maybe
Maybe
IEnumerable<T>
Func
Reader
Lazy<T>
Task<T>
モナドのように振る舞う .NET の型の例は他にありませんか?