Size: a a a

2021 April 11

A

Aleksandr Khristenko in Haskell
Угу. А еще через точечку автокомплит реализовывать удобнее будет.
источник

A

Aleksandr Khristenko in Haskell
Ну тут скорее больше влияет что инстансы автоматом реэкспортятся.
источник

к

кана in Haskell
это подразумевалось неявно под "нужно только наличие инстанса")
источник

JS

Jerzy Syrowiecki in Haskell
и как теперь реализацию отделять от интерфейса?
источник

к

кана in Haskell
придется делать ньютайпы)
источник

JS

Jerzy Syrowiecki in Haskell
deriving no HasField бы
источник

к

кана in Haskell
экспортировать только ньютайп поверх рекорда
источник

YS

Yan Shkurinskiy in Haskell
coderiving HasField
источник

JS

Jerzy Syrowiecki in Haskell
это у тебя получился дерайвинг в обратную сторону — тип по полям
источник

YS

Yan Shkurinskiy in Haskell
хммм
источник

YS

Yan Shkurinskiy in Haskell
я не задумывался над тем, что могло бы значить кодерайвинг...
источник

JS

Jerzy Syrowiecki in Haskell
тут и там, тут и там, ходят типы по полям
источник

IO

I O in Haskell
В каком-то смысле free structures это coderiving - тип по требуемым инстансам
источник

YS

Yan Shkurinskiy in Haskell
кстати, вопрос - запускаю репл в компоненте, и вроде он автоматически импортирует модуль Repl, который в корне компонента
источник

YS

Yan Shkurinskiy in Haskell
не нашел кажется такого поведения в доке
источник

YS

Yan Shkurinskiy in Haskell
это так и задумано?
источник

IO

I O in Haskell
HasField солвится только если поле в скоупе, из доки:

If the constraint solver encounters a constraint HasField x r a where r is a concrete datatype with a field x >>> in scope <<<, it will automatically solve the constraint using the field selector as the dictionary

Интересно только как это с NoFieldSelectors взаимодействовать будет
источник

A

Aleksandr Khristenko in Haskell
Видимо никак. Но ведь если ты в модуле с типом делаешь NoFieldSelectors то ты сможешь и сам там HasField нагенерировать нужных.
источник

MK

Maxim Koltsov in Haskell
NFS выключает только функцию селектор, само то поле будет в скоупе
источник

MK

Maxim Koltsov in Haskell
Для PM и record update
источник