FSharp.Control.ImperativeAsyncの紹介
この記事はF# Advent Calendar 2016の8日目のものです。 大遅刻しました…orz
今回はFsharp Bootcamp Tokyo 2016 with Tomas Petricekで議論した結果生まれたライブラリの紹介です。
https://github.com/pocketberserker/FSharp.Control.ImperativeAsync
Asyncでもreturn
で大域脱出できるようになるよ、という代物です。
このライブラリではImperativeAsync
という型を用意していますが、ユーザがこの型を明示的に生成することはできません。
あくまで制御用の型です。
中身はAsync<'T option>
をラップしただけのものですが、別名をつけておいた方がわかりやすいのでこうしました。
とまぁ、こんな感じで皆さんも気軽にコンピュテーション式を提供するだけのライブラリを作ってみてはいかがでしょうか?