не могу понять как TF подменяет ADT патерн матчинг
TF-ом называют очень широкий набор техник. F[_] в интерфейсах - это TF, GADT - это тоже TF, Вот эти упражнения по построению AST типизированным кодом: http://okmij.org/ftp/tagless-final/course/lecture.pdf Вообще считается определением TF, хотя совсем не похоже на то, что под TF понимают в скале.
TF-ом называют очень широкий набор техник. F[_] в интерфейсах - это TF, GADT - это тоже TF, Вот эти упражнения по построению AST типизированным кодом: http://okmij.org/ftp/tagless-final/course/lecture.pdf Вообще считается определением TF, хотя совсем не похоже на то, что под TF понимают в скале.
TF-ом называют очень широкий набор техник. F[_] в интерфейсах - это TF, GADT - это тоже TF, Вот эти упражнения по построению AST типизированным кодом: http://okmij.org/ftp/tagless-final/course/lecture.pdf Вообще считается определением TF, хотя совсем не похоже на то, что под TF понимают в скале.
очень похоже
F[_] в алгебрах становится тем что превращяет всю программу единое выражение Expr, а все методы алгебр содержащие "голые" (не завернутые в F[_]) аргументы можно рассматривать как конструкторы A => Expr
24:45 потом 15 сек и все. Можно пить боржоми и лечить сотрясение мозга)) В чем задача функтора, преобразовать из А в В, обернув каждый попутно в свой тип?
24:45 потом 15 сек и все. Можно пить боржоми и лечить сотрясение мозга)) В чем задача функтора, преобразовать из А в В, обернув каждый попутно в свой тип?
К этому моменту уже понятно, как тэглесс файнал заменяет патерн матчинг
24:45 потом 15 сек и все. Можно пить боржоми и лечить сотрясение мозга)) В чем задача функтора, преобразовать из А в В, обернув каждый попутно в свой тип?
Задача функтора - да преобразовать каждый объект в новый объект и каждый морфизм между парой объектов преобразовать в морфизм между преобразованными объектами