Size: a a a

2020 May 15

PK

Pavel Khritonenko in fprog_spb
Ryzhikov Nikolay
я про простую типовую проблему - которая закончилась стрелками клейсли и монадтрансформерами 🙂
Я в такие дебри не погружаюсь, и что такое стрелки - уже и не помню, ну и немного стебусь про аппликативные функторы. Потому что это получается код (и беседа), который средний программист просто не поймет.
источник

RN

Ryzhikov Nikolay in fprog_spb
паралелапипед и идеальный фунтор с тетраэдром
источник

YS

Yan Shkurinskiy in fprog_spb
Pavel Khritonenko
Я в такие дебри не погружаюсь, и что такое стрелки - уже и не помню, ну и немного стебусь про аппликативные функторы. Потому что это получается код (и беседа), который средний программист просто не поймет.
стрелка Клейсли - :: a -> m b, второй аргумент байнда
источник

YS

Yan Shkurinskiy in fprog_spb
не знаю, насколько это помогло .-.
источник

YS

Yan Shkurinskiy in fprog_spb
ну типа чтобы не писать долго "функция вида a -> m b"
источник

YS

Yan Shkurinskiy in fprog_spb
(я тут тоже не имею цели кого-то запутать терминами)
источник

AV

Alexander Vershilov in fprog_spb
Я привел решение в пол строчки, там не так и мало буков зато они просто расширяются (пример выше был, который по структуре ходил не очень известной)
источник

AV

Alexander Vershilov in fprog_spb
Можно поговорить про аппликативы
источник

AV

Alexander Vershilov in fprog_spb
Мне пришёл json, я не знаю это объект или список объектов этого типа, как мне его распарсить в кложе?
источник

AV

Alexander Vershilov in fprog_spb
в haskell:
(:[]) <$> parse) <|> parse
источник

RN

Ryzhikov Nikolay in fprog_spb
(if (sequence? x) x [x])
источник

AV

Alexander Vershilov in fprog_spb
А если тип может быть sequence сам?
источник

AV

Alexander Vershilov in fprog_spb
Т.е. приходит или [{foo,bar}] или [[{foo,bar}],[{foo,bar}]]
источник

AV

Alexander Vershilov in fprog_spb
Нет, выше код неверный 🙂
источник

RN

Ryzhikov Nikolay in fprog_spb
(mapcat #(if (sequence? x) x [x])
источник

AV

Alexander Vershilov in fprog_spb
мне кажется, что опять сделает не то, что я попросил, но ладно
источник

AV

Alexander Vershilov in fprog_spb
А не, прокатит
источник

AV

Alexander Vershilov in fprog_spb
Дальше по аппликативным функторам
источник

AV

Alexander Vershilov in fprog_spb
Если у нас есть несколько вариантов как распарсить, то мы можем написать:
asum [ one, two, three]
источник

AV

Alexander Vershilov in fprog_spb
Значит проверили 1 случай, не получилось распарсить перешли ко 2му и т.д.
источник