Подтвердить что ты не робот

Есть стандартный рабочий процесс в F #?

Есть ли опция (возможно) wokflow (monad) в библиотеке stand # F #?

Я нашел дюжину ручных реализаций (1, 2) этого рабочего процесса, но я действительно не хочу вводить в проект нестандартный и не очень доверенный код. И все мыслимые запросы в google и msdn не дали мне подсказки, где его найти.

4b9b3361

Ответ 1

Нет. Возможно, монада в стандартной библиотеке F #. Вы можете посмотреть FSharpx, расширение F #, написанное высококвалифицированными членами сообщества F #, в котором имеется довольно много полезных монадов.

Ответ 2

Нет стандартных конструкторов вычислений для параметров, но если вам не нужны такие вещи, как лень (как добавлено в приведенных вами примерах), код достаточно прост, чтобы не было причин не доверять ему (особенно с учетом предполагаемого имени 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()