InlineIfLambda
属性を利用して最適化された、F#のコンピューテーション式のビルダーの実装です。
MITライセンスで単一ファイルで実装しています。
以下の型のビルダーを提供しています。
Option<'t>
ValueOption<'t>
Result<'t, 'e>
Lazy<'t>
Examples
Do.voption {
let! x = Some 40
let! y = ValueSome 2
return x + y
}
|> function
| ValueNone -> printfn "result is none."
| ValueSome a -> printfn "result = %d." a
Reference
Gnicoさんのこちらの記事が参考になりました、ありがとうございます。