Hog
ага
Hog
но
Ayrat
Ну я бы оставил жс жсу. (Тсу)
Hog
в консумер коде мне это понадобилось 1 (один) раз
Hog
Vladislav
Shub
http://degoes.net/articles/modern-fp-part-2
Shub
одна история офигительнее другой просто
Shub
The meaning of the program as a whole is defined by the meaning of the terms comprising the program.
Hog
перескажи своими словами :)
Hog
Shub
спойлер - все мучения ради возможности писать
def example[F[_]: Inject[BankingF, ?]]: Free[F, Amount] =
for {
as <- F.accounts
b <- F.balance(as.head)
} yield b
Shub
Изя, а разве ты не мог кушать это дома?
Hog
Железнодорожная ориентация?
Shub
нет
Shub
якобы dsl который якобы избавляет от втаскивания инфраструктуры в домен
Shub
The onion architecture has proven an enormously useful tool for structuring large-scale functional programs in a composable and modular way. This architecture isolates separate concerns and separate domains, and allows a rigorous treatment of program semantics.
Shub
ну и как всегда, не обошлось без великого
Shub
точно так же как “духовность - это когда не моются”, архитектура - это когда все в одном файле
Shub
https://github.com/notxcain/onion-architecure/blob/master/src/main/scala/onion/example.scala
Shub
преколы начинаются буквально с первых строк
Hog
я не могу это прочитать
Shub
ну это довольно чистенький код. я последний раз писал на скале лет 7 назад, но вопросов “что это” не возникае
Shub
возникает вопрос “нахера вам это все”, но это как бы ортогонально
Shub
A description of a program
that will halt, run forever, or
produce a value `a`
|
/ \
/ \
/ \
Free f a
^ ^
| \
| \ Value produced by program
Operational
Algebra
Scala: Free[F[_], A]
Hog
там в первой строке написато - ПАКЕТ ЛУКА
Shub
это ддд им кланялся
Hog
про лук - это они из Шрэка спёрли :)
Shub
культизм, все дела. как сказал один мудрый комментатор ютубовских видосов: люди сделают фетиш из чего угодно
Hog
http://quotegeek.com/quotes-from-movies/shrek/7316/
Shub
от себя могу добавить: с помощью квадратиков и стрелочек можно изобразить что угодно, даже перепетуум мобиле. бумага все стерпит
Doge
Shub
угу. он же огромный пропонент был. пока ZIO не придумал
Doge
угу. он же огромный пропонент был. пока ZIO не придумал
Ну особым фанатом Free я не являюсь, бойлерплейта там столько обычно, что жутко.
Оно в некоторых случаях применимо, но если ты идёшь в сторону F[_] в подобном, то Free тебе может быть нужно, чтобы только залетных джавистов пугать
Shub
до рассмотрения бойлерплейта хотелось бы понять мотивацию
Shub
все и так есть
Shub
плюс какая еще ссылочная прозрачность? у нас тут тяжелый как похмелье ддд, велью-объекты все дела, плюс ФП
Doge
все и так есть
Ну параметричность в таких случаях как раз через F[_] достигается в некотором роде.
А вот остального можно и по другому
Doge
Sergey K
А кто-нибудь может объяснить чем referential transparency отличается от purity?
На первый взгляд определения очень похожи.
Doge
Ayrat
Ayrat
Shub
Занятно
если б я такое в универе услышал, меня бы карьера пхп-программиста совершенно не беспокоила бы. а может даже и прельщала
Ayrat
Да, тут конечно хуерга дикая.
Но вообще ссылочная прозрачность подразумевает что можно заменить любой биндинг на результат вычисления выражения этого биндинга. И при этом программа не пойдет по пизде
Hog
отсутствие сайдэффектов
Ayrat
Это как бы подразумевает само собой что в результате вычисления выражения не происходит сайд эффектов иначе при замене мы эти сайд эффекты не воспроизведем и значит ход программы будет не тот же
Alexey
Но без сайд эффектов же неинтересно или не нужно
Hog
Hog
Hog
Hog
Ayrat
Но я с телефона пишу в автобусе!
Alexey
Hog
завтра 7/4 же
Ayrat
Флаг постирал?
Hog
у друзей ебилей свадьбы - там всё будет
Ayrat
Hog
Sergey K
Hog
Hog
программист - женщина, если чо
Ayrat
Hog
Ayrat
Белый членочеловек!
Shub
а именно - всем отмечать Петра и Павла
Hog