alf
Талантливым людям, пишущим блоги про то насколько тайпклассы в скале лучше тайпклассов в хаскеле, хочется посоветовать спилить мушку
Обсуждение элегантности костылей, блин ‎- alf
Итого у нас есть полиморфическая рекурсия — но на уровне метода, не класса. Но поскольку никаких тайпклассов нет, а есть только костыли, полиморфная рекурсия не работает для тайпклассов — потому что надо сначала передать тот самый костыль, а костыля нужной формы нет. Хотя по идее костылю должно быть наплевать, потому что type erasure? Я не люблю это дело, вот. ‎- alf
Also, "эрекция," "эякуляция" ЕВПОЧЯ ‎- alf
И тут из-за плеча скалки подмигивает кровавый энтерпрайз: trait DequeLike[Q[_]] { def deque[E]: Deque[E, Q[E]] } ‎- alf
def empty[E, Q[_] : DequeLike]: Cat[E, Q] = Shallow[E, Q](implicitly[DequeLike[Q]].deque[E].empty) ‎- alf
Куда понятней чем empty = Shallow empty, и мощь чувствуется! ‎- alf
Надо начать спрашивать на собеседованиях про рекурсивный полиморфизм и разницу между функцией и методом. ‎- alf