Ответ 1
Нет. Возможно, монада в стандартной библиотеке F #. Вы можете посмотреть FSharpx, расширение F #, написанное высококвалифицированными членами сообщества F #, в котором имеется довольно много полезных монадов.
Есть ли опция (возможно) wokflow (monad) в библиотеке stand # F #?
Я нашел дюжину ручных реализаций (1, 2) этого рабочего процесса, но я действительно не хочу вводить в проект нестандартный и не очень доверенный код. И все мыслимые запросы в google и msdn не дали мне подсказки, где его найти.
Нет. Возможно, монада в стандартной библиотеке F #. Вы можете посмотреть FSharpx, расширение F #, написанное высококвалифицированными членами сообщества F #, в котором имеется довольно много полезных монадов.
Нет стандартных конструкторов вычислений для параметров, но если вам не нужны такие вещи, как лень (как добавлено в приведенных вами примерах), код достаточно прост, чтобы не было причин не доверять ему (особенно с учетом предполагаемого имени Option.bind
из стандартной библиотеки). Здесь довольно минимальный пример:
type OptionBuilder() =
member x.Bind(v,f) = Option.bind f v
member x.Return v = Some v
member x.ReturnFrom o = o
member x.Zero () = None
let opt = OptionBuilder()