Free monad or tagless final? How not to commit to a monad too early - Adam Warski (kzbin.info/www/bejne/f5m5lYhqjc6taLc) Edmund Noble-Data, and when not to use it (kzbin.info/www/bejne/p2etdKmagryno9E)
@KirillKhalitov5 жыл бұрын
Жалко только, что пока языков мало для использования такого подхода. Возможно, если такой подход со временем покажет себя выигрышным, то разработчики языков задумаются. Правда, такие изменения сложно добавить в "старые" языки. Надеюсь, что эволюция языков программирования не оставит этот подход в стороне.
@jameskim427411 ай бұрын
Любой ООП язык, на нём пишешь сервисы с нужной тебе логикой, но объекты (в т. ч. Сущности и Значения и Репозитории и Фабрики и Коннектрры) абстрагируешь интерфейсами и в сервисе пишешь логику только с их использованием. В конце при сборке приложения подставляешь в конструктор сервиса конкретные activeRecords, фабрики коннекторы и т. д, эти интерфейсы реализуюшие
@anton0xf4 жыл бұрын
Почему никто не объясняет, что значит название (tagless final)?
@goosedb44704 жыл бұрын
Кажется, что всё очень просто. Грубо можно перевести как "без конкретных типов до талого". Во время написания кода мы ведь используем только какие-то абстрактные функторы, монады, алгебры. Конкретный тип нужен только при запуске кода. Подставляем нужный тип (который удовлетворяет всем констрейнтам) и всё начинает пердеть, свистеть, работать.