Size: a a a

ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)

2019 December 27

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
ну и понял, что нужно что-то вроде traverse
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Чтобы можно было взять

LIstP[Sum, Sum] и превратить его в ListP[Eval[Sum], Eval[Sum]]
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
так и родился этот ProTraverse
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
т.е. вместо того чтобы описывать структуру данных типа
sealed trait Foo
case class Bar(x: Int, left: Foo, right: Foo) extends Foo
case object Baz extends Foo

ты пишешь
trait FooP[-A, +B]{
  def bar(x: Int, left: A, right: A): B
  def baz: B
}

type Foo = Layer[FooP]


тогда если реализуешь ProTraverse[FooP] твои возможности безграничны
но в общем можно сказать что если бы ты пошёл по классическому пути рексхем тут было бы

sealed trait FooF[+A]
case class BarF[+A](x: Int, left: A, right: A) extends Foo[A]
case object BazF extends FooF
[Nothing]


тогда этот FooP[A, B] то ни что иное как FooF[A] => B
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
собственно, этот факт я и используя требуя копредставимость
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
только мне не нужно специального АДТ для этого, как в хошкеле, потому что я могу выразить его через Rep
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
из профункторности автоматически следует функторность этого Rep
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
ну а вот дальше уже нужен траверсал хотя бы в таком ослабленном виде
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
λoλcat
Надо статью на dev.to сразу писать
что это? чем лучше медиума?
источник

KS

Kirill Shelopugin in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
ахуена
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Kirill Shelopugin
ахуена
блат
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Сирисли
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Хуясси
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Дегуз ошибался
источник

KS

Kirill Shelopugin in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Да не
источник

KS

Kirill Shelopugin in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Оно всё так же в репозитории своем же
источник

Oℕ

Oleg ℕizhnik in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
а блэт
источник

KS

Kirill Shelopugin in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Я уж хз почему оно так называется в гитхубе, наверное авасил просто скопировал
источник

C

Cesare Borgia in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
typeclass Traverse
Не, ну это бан
источник

(

( in ПОКА ОДЕРСКИ НЕ ВИДИТ (как мы разрешаем котикам срать)
Oleg ℕizhnik
чтобы FreeCategory была подтипов FreeArrow и одновременно FreeSMC
О, кстати
источник