alf
Последняя структурка сопротивляется. Но тайпчекер уже отстал, бонус!
Нет - он затаился на время ‎- work/work balance
Но блин class ImplicitCatenableDequeSpec extends CatenableDequeSpec[Int, ImplicitCatenableDeque.Cat[Int, Vector]](new FromVector[Int]) with IntElements ‎- alf
AbstractSingletonProxyFactoryFactory нервно курит ‎- alf
139 коммитов, почти год, и это ещё покрытие детское, скользкие случаи наверняка повалятся. ‎- alf
* 0 * ‎- work/work balance
<смешанные чувства> особенно в районе def tail[E, Q[_] : DequeLike](q: Cat[E, Q]): Cat[E, Q] = { ‎- псы в рапиде
а у меня-то! Такие уж в скале косты... тайпклассы, я хотел сказать, они называют это тайпклассами. ‎- alf
С другой стороны, StandardML, если верить Окасаки, складывает лапки ещё на case class Cons1[E](x: E, rest: Seq[(E, E)]) extends Seq[E] ‎- alf
На самом деле это-то ад, но это ад неинтересный. Интересный ад в выборе между методами на объекте и методами на валяющемся рядом (и обычно таки имплиситно подсунутом, как тут) тайпклассе. Стандартная библиотека эти два подхода женит, но я до сих пор не понял, как именно это ей удаётся. ‎- alf