F# News
452 subscribers
7 photos
1.46K links
F# channel
@fsharp_chat

Send your proposals to @fsharp_chat
Download Telegram
Вычислительные выражения: 4. Типы-обёртки

Под типами-обёртками подразумеваются типы, представляющие ядро билдеров, например: 'a option, 'a Аsync, Result<'ok, 'error> и т.д. Их иногда называют M<'a> в честь того самого слова на букву м.

В этой части говорится о связях данных типов с конструкциями let!, return и return!.
👍52
Вычислительные выражения: 6. Реализуем Zero и Yield

Полезно знать, как работает let!, однако в реальности билдеры с этим механизмом характерны для абстракций уровня фреймворка. Для уровня бизнес-логики лучше определять локальные билдеры, которые больше напоминают модифицированные [] или seq {}. Базой таких билдеров являются методы Zero и Yield.
👍6🔥2🤔1
Вычислительные выражения: 8. Реализуем Delay и Run

Метод Delay позволит откладывать вычисления, а то и вовсе игнорировать их, если этого требует выражение в билдере. Run преобразует содержимое билдера во внешний результат на заключительном шаге. В статье он нужен для исполнения отложенных вычислений, которые породил Delay, но в случае бытовых билдеров Run часто выполняет роль builder.Build() из мира ООП.
4👍1
Когда имён недостаточно. REST-клиент на F#. Часть 1. DTO

Начало нового слегка хулиганского цикла по бытовому кодогену. В этот раз на примере REST-клиента посмотрим, как можно сводить роль личности к нулю, чтобы бездушная машина могла разгуляться. Тем не менее в первой части самого кодогена нет, но есть много слов про DTO и F# вообще.
👍3🔥3