Size: a a a

ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)

2020 June 02

ZM

ZLoyer Matveev in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
Oleg ℕizhnik
соответственно потребовав XTractor[Name] компилятор найдёт XTractor[Name]{type Repr = String} и всё сам дальше определит
я имбецилирую уже долго и не могу компилятор убедить что Репр = Стринг

hasMatchingSymbol reported error: No singleton value available for xtractor.Repr.
источник

w

welcometotheclubbudd... in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
ZLoyer Matveev
я имбецилирую уже долго и не могу компилятор убедить что Репр = Стринг

hasMatchingSymbol reported error: No singleton value available for xtractor.Repr.
А попа помыта?
источник

ZM

ZLoyer Matveev in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
trait Xtractor[X]{
   type Repr
   def xtractTypeClass[TC[_]](implicit tc: TC[Repr]): TC[X]
 }
object Xtractor {
   type Aux[A, B] = Xtractor[A] {type Repr = B}
   implicit def estaticoXtractor[A, B](implicit c: Coercible[A, B]): Xtractor.Aux[B, A] = new Xtractor[B] {
     override type Repr = A
     override def xtractTypeClass[TC[_]](implicit tc: TC[A]): TC[B] = ???
   }
 }

case class Name(s: String)
object Name {
   implicit def encoder(implicit xtractor: Xtractor[Name]): Encoder[Name] = xtractor.xtractTypeClass[Encoder]
 }
источник

IA

Ivan Aristov in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
ZLoyer Matveev
trait Xtractor[X]{
   type Repr
   def xtractTypeClass[TC[_]](implicit tc: TC[Repr]): TC[X]
 }
object Xtractor {
   type Aux[A, B] = Xtractor[A] {type Repr = B}
   implicit def estaticoXtractor[A, B](implicit c: Coercible[A, B]): Xtractor.Aux[B, A] = new Xtractor[B] {
     override type Repr = A
     override def xtractTypeClass[TC[_]](implicit tc: TC[A]): TC[B] = ???
   }
 }

case class Name(s: String)
object Name {
   implicit def encoder(implicit xtractor: Xtractor[Name]): Encoder[Name] = xtractor.xtractTypeClass[Encoder]
 }
аукс надо писать
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
Xtractor.Aux[A, String]
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
да
источник

w

welcometotheclubbudd... in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
encoder(implicit xtractor: Xtractor.Aux[Name, String])
источник

ZM

ZLoyer Matveev in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
Grigory Pomadchin
encoder(implicit xtractor: Xtractor.Aux[Name, String])
ну вот в таком виде оно все нафиг не сдалось, потому что String надо будет подставлять или руками или макросом, Олег предлагал без макроса выводилку
источник

ZM

ZLoyer Matveev in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
а с макросом намного проще написать сразу asInstanceOf
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
о
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
слушай
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
у тебя нью тайпы
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
или ш у тя там
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
короч
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
можно наверн
источник

ZM

ZLoyer Matveev in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
это пока без всяких ньютайпов
источник

ZM

ZLoyer Matveev in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
ну и с Ауксом, почему то приходится явно тащить
implicit def coe[A, B]: Coercible[A, B] = new Coercible[A, B] {}
источник

GP

Grigory Pomadchin in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
ZLoyer Matveev
ну и с Ауксом, почему то приходится явно тащить
implicit def coe[A, B]: Coercible[A, B] = new Coercible[A, B] {}
а закинь куда полный пример
источник

ΛВ

Λнтон Войцишевский... in ПОКА ОДЕРСКИ НЕ ВИДИТ (спидран Олега по тофу)
ᛒᚨᚱᛏᛟᛋᛋᛟ
@funfunfine объясни нахуй у вас воров обоев собр штурмует
шо чаов
источник