Size: a a a

2020 October 23

ДБ

Дмитрий Башинский... in F# Chat
По идее мне нужно bindEnv (bindAsync (...?))
источник

ДБ

Дмитрий Башинский... in F# Chat
источник

NK

ID:0 in F# Chat
источник

ДБ

Дмитрий Башинский... in F# Chat
В этом случае в save по идее должно быть
HasStore & HasLogger & HasConfig

??
источник

g

gsomix in F# Chat
Дмитрий Башинский
В этом случае в save по идее должно быть
HasStore & HasLogger & HasConfig

??
Да, я сначала пропустил, что в save есть логгирование. Но вызов Logger.log автоматически добавляет констрейнты HasLogger и HasConfig.
источник

g

gsomix in F# Chat
Дмитрий Башинский
А можно еще ревизию
Я не уверен, что это хорошая идея. Придется все функции в Env заворачивать.
источник

ДБ

Дмитрий Башинский... in F# Chat
Понял
источник

PD

Prunkles Dreemurr in F# Chat
источник

AH

Ayrat Hudaygulov in F# Chat
Интерфейсы на чужой тип не насунешь
источник

PD

Prunkles Dreemurr in F# Chat
Ayrat Hudaygulov
Интерфейсы на чужой тип не насунешь
Экстеншн методы на данный момент тоже!
источник

AH

Ayrat Hudaygulov in F# Chat
Prunkles Dreemurr
Экстеншн методы на данный момент тоже!
Тоже верно. Но уже почти!!1
источник

PD

Prunkles Dreemurr in F# Chat
+ Нет проблем с возможными коллизиями имён
источник

g

gsomix in F# Chat
Захотелось использовать анонимные записи, чтобы делать композицию зависимостей.
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
Захотелось использовать анонимные записи, чтобы делать композицию зависимостей.
Так она и так тоже делается. Итоговая функция (logField) требует реализацию сразу двух интерфейсов — вот тебе и композиция
источник

PD

Prunkles Dreemurr in F# Chat
Так или иначе, самое приятное, что использующий код совершенно не зависит от выбранного подхода. Нужно просто изменить функции, которые задают эту зависимость (Log.info, Config.getField) , и всё, ты уже используешь не интерфейсы, а снова сртп
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
Захотелось использовать анонимные записи, чтобы делать композицию зависимостей.
А, я понял о чём речь шла. Ну, технически object expression тоже смог бы такое с интерфейсами, пусть и менее удобно
источник

g

gsomix in F# Chat
Prunkles Dreemurr
А, я понял о чём речь шла. Ну, технически object expression тоже смог бы такое с интерфейсами, пусть и менее удобно
Да.
источник

g

gsomix in F# Chat
Но у меня цель — абьюзить фичи. :)
источник

g

gsomix in F# Chat
Я заранее предупредил!
источник

PD

Prunkles Dreemurr in F# Chat
gsomix
Но у меня цель — абьюзить фичи. :)
Абьюз засчитан, но мне кажется не очень удачным решением инлайн функций с логикой (Logger.log, Storage.save)
источник