Size: a a a

Scala User Group

2020 August 15

SA

Sergey Alaev in Scala User Group
Yevhen
не могу понять как TF подменяет ADT патерн матчинг
TF-ом называют очень широкий набор техник. F[_] в интерфейсах - это TF, GADT - это тоже TF, Вот эти упражнения по построению AST типизированным кодом:
http://okmij.org/ftp/tagless-final/course/lecture.pdf
Вообще считается определением TF, хотя совсем не похоже на то, что под TF понимают в скале.
источник

ΛВ

Λнтон Войцишевский... in Scala User Group
Yevhen
не могу понять как TF подменяет ADT патерн матчинг
https://www.youtube.com/watch?v=XJ2NjqkWdck&list=PLJGDHERh23x-3_T3Dua6Fwp4KlG0J25DI

Вот тут в первом и втором видео плейлиста объясняют весьма подробно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Sergey Alaev
TF-ом называют очень широкий набор техник. F[_] в интерфейсах - это TF, GADT - это тоже TF, Вот эти упражнения по построению AST типизированным кодом:
http://okmij.org/ftp/tagless-final/course/lecture.pdf
Вообще считается определением TF, хотя совсем не похоже на то, что под TF понимают в скале.
ГАДТы то при чём
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Yevhen
не могу понять как TF подменяет ADT патерн матчинг
источник

λ

λoλzod in Scala User Group
Sergey Alaev
TF-ом называют очень широкий набор техник. F[_] в интерфейсах - это TF, GADT - это тоже TF, Вот эти упражнения по построению AST типизированным кодом:
http://okmij.org/ftp/tagless-final/course/lecture.pdf
Вообще считается определением TF, хотя совсем не похоже на то, что под TF понимают в скале.
очень похоже

F[_] в алгебрах становится тем что превращяет всю программу единое выражение Expr,
а все методы алгебр содержащие "голые" (не завернутые в F[_]) аргументы можно рассматривать как конструкторы A => Expr
источник

λ

λoλzod in Scala User Group
а конкретное IO - интерпретатор
источник

λ

λoλzod in Scala User Group
Кто-нить юзает вот эту штуку ?
https://jmcardon.github.io/tsec/
(тайпсейф криптография)
надо для JWT , интересны отзывы
источник

GP

Grigory Pomadchin in Scala User Group
λoλzod
Кто-нить юзает вот эту штуку ?
https://jmcardon.github.io/tsec/
(тайпсейф криптография)
надо для JWT , интересны отзывы
работает; может какие-то более конкретные есть вопросы? вообще Nick шарит в ней (вроде)
источник

λ

λoλzod in Scala User Group
да меня как раз таки "рабочесть" интересует
что-то давно не релизили
источник

S

Serega in Scala User Group
24:45 потом 15 сек и все. Можно пить боржоми и лечить сотрясение мозга)) В чем задача функтора, преобразовать из А в В, обернув каждый попутно в свой тип?
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Serega
24:45 потом 15 сек и все. Можно пить боржоми и лечить сотрясение мозга)) В чем задача функтора, преобразовать из А в В, обернув каждый попутно в свой тип?
К этому моменту уже понятно, как тэглесс файнал заменяет патерн матчинг
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Функторы нужны, чтобы понять, как тэглесс файнал заменяет патерн матчинг с рекурсией
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Serega
24:45 потом 15 сек и все. Можно пить боржоми и лечить сотрясение мозга)) В чем задача функтора, преобразовать из А в В, обернув каждый попутно в свой тип?
Задача функтора - да преобразовать каждый объект в новый объект и каждый морфизм между парой объектов преобразовать в морфизм между преобразованными объектами
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Преобразовать хорошо, чтобы структура категории из айдентити и композии не поломалась
источник

S

Serega in Scala User Group
Oleg ℕizhnik
К этому моменту уже понятно, как тэглесс файнал заменяет патерн матчинг
Опечатка?
источник

S

Serega in Scala User Group
Пока просто понятно «как», но непонятно «зачем»
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Serega
Опечатка?
Да
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Serega
Пока просто понятно «как», но непонятно «зачем»
Официальное название "Expression Problem"
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Serega
Пока просто понятно «как», но непонятно «зачем»
источник

Y

Yevhen in Scala User Group
а нету репозитория с доклада,
код который был полностью на ADT и на TF, интерестно что передается уже на вызове createOrg[A]
источник