Size: a a a

2020 July 31

MK

Maxim Koltsov in Haskell
оставьте ботов в покое
источник

к

кана in Haskell
мы можем отдаляться от меты в самом нижнем уровне, но ничего не мешает быть искренним в мете
источник

χλ

χоρоший ☽☽☽ λисuчко... in Haskell
кана
мы можем отдаляться от меты в самом нижнем уровне, но ничего не мешает быть искренним в мете
Хм
источник

χλ

χоρоший ☽☽☽ λисuчко... in Haskell
кана
мы можем отдаляться от меты в самом нижнем уровне, но ничего не мешает быть искренним в мете
Могу парировать только чем-то типо прагматической модели.

Мета уровень в речи обычно используется в качестве иронии.
источник

JS

Jerzy Syrowiecki in Haskell
кана
хм, это уже давний спор был, но как re тут поможет?
да, я тут поэкспериментировал немного, кажется, для полей призмы вообще не имеют смысла. только для конструкторов
источник

JS

Jerzy Syrowiecki in Haskell
призма для поля вообще существует, только если у конструктора одно поле. но в таком случае поле не отличается по смыслу от конструктора
источник

к

кана in Haskell
да, поэтому только траверсалы)
источник

к

кана in Haskell
lens кстати траверсалы и генерит для таких полей при makeLenses
источник

JS

Jerzy Syrowiecki in Haskell
кана
lens кстати траверсалы и генерит для таких полей при makeLenses
а generic-lens — нет. печаль

> :t #_A :: Prism' T _
   • Found type wildcard ‘_’ standing for ‘(Bool, Char)’
источник

к

кана in Haskell
да, это косяк
источник

к

кана in Haskell
но призмы генерятся если что, ты просто не подключил Labels наверное
источник

JS

Jerzy Syrowiecki in Haskell
кана
но призмы генерятся если что, ты просто не подключил Labels наверное
для полей — нет. только для конструкторов. или ты про что?
источник

JS

Jerzy Syrowiecki in Haskell
кана
да, это косяк
как ужасно Фира склеивает #_
источник

к

кана in Haskell
хм, так, какая-то нестотыковка

мое ожидаемое поведение

- для каждого конструктора нужно генерить призуму
- для каждого поля нужно пытаться генерить линзу
- для каждого поля, для которого не получилось сделать линзу, нужно пытаться генерить траверсал
- на остальное кидать ошибку
источник

к

кана in Haskell
а это не фира)
источник

к

кана in Haskell
это шрифт джетбреинсов
источник

к

кана in Haskell
кана
хм, так, какая-то нестотыковка

мое ожидаемое поведение

- для каждого конструктора нужно генерить призуму
- для каждого поля нужно пытаться генерить линзу
- для каждого поля, для которого не получилось сделать линзу, нужно пытаться генерить траверсал
- на остальное кидать ошибку
lens в этом плане все делает как надо, а вот generic-lens не генерит траверсалы для полей
источник

к

кана in Haskell
траверсал должен иметь вид #a в данном случае, не #_A, #_A тут это валидная уже призма для конструктора
источник

к

кана in Haskell
источник

JS

Jerzy Syrowiecki in Haskell
осталось только подчёркивания убрать (NoTopSelectors)
источник