Size: a a a

2021 March 06

VB

Vadym Biliuk in Haskell Start
Это решило проблему, после других языков это было немного неожиданным поведением)
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Vadym Biliuk
Это решило проблему, после других языков это было немного неожиданным поведением)
Каждый геттер для поля — функция в общей области видимости. Поэтому дубли и не разрешены без включения расширений
источник

A

Artem 🏳️‍🌈 USSR Gay ... in Haskell Start
Рекорды это выходит просто сахарок над data MyRecord = MyRecord Int String?
источник

AP

Aleksei (astynax) Pi... in Haskell Start
В оригинале — да
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Если включить DuplicateRecordFields, геттеры станут "как бы" полиморфными, но придётся явно говорить компилятору, к чему они применяются в каждом конкретном месте.
источник

AP

Aleksei (astynax) Pi... in Haskell Start
Сейчас ещё есть OverloadedLabels, с включением которых обращение к полю означает вызов метода класса с именем поля в качестве параметра. И геттеры становятся вообще эфемерными: можно делать вычисляемые поля и всякое такое
источник

JS

Jerzy Syrowiecki in Haskell Start
Aleksei (astynax) Pirogov
Сейчас ещё есть OverloadedLabels, с включением которых обращение к полю означает вызов метода класса с именем поля в качестве параметра. И геттеры становятся вообще эфемерными: можно делать вычисляемые поля и всякое такое
нет,

OverloadedLabels
Since: 8.0.1
Enable use of the #foo overloaded label syntax.
источник

JS

Jerzy Syrowiecki in Haskell Start
а такого расширения, как ты описал, вообще я не знаю
источник

JS

Jerzy Syrowiecki in Haskell Start
Artem 🏳️‍🌈 USSR Gay Power
Рекорды это выходит просто сахарок над data MyRecord = MyRecord Int String?
там очень много сахара
источник

YS

Yan Shkurinskiy in Haskell Start
Jerzy Syrowiecki
нет,

OverloadedLabels
Since: 8.0.1
Enable use of the #foo overloaded label syntax.
Алексей же про IsLabel, нет? (по крайней мере я так его понял)
источник

JS

Jerzy Syrowiecki in Haskell Start
Yan Shkurinskiy
Алексей же про IsLabel, нет? (по крайней мере я так его понял)
IsLabel — это просто класс, он не меняет семантику обращения к полю
источник

YS

Yan Shkurinskiy in Haskell Start
ну там же  #foo преобразуется к  fromLabel @"foo" или как там
источник

YS

Yan Shkurinskiy in Haskell Start
Алексей же кажется это и написал
источник

YS

Yan Shkurinskiy in Haskell Start
(просто хочу услышать где неточность, т.к. я понял именно так)
источник

JS

Jerzy Syrowiecki in Haskell Start
а, вот, что Алексей хотел написать, наверно:

GHC.Records:
This module defines the HasField class used by the OverloadedRecordFields extension. See the <https://gitlab.haskell.org/ghc/ghc/wikis/records/overloaded-record-fields wiki page> for more details.
источник

YS

Yan Shkurinskiy in Haskell Start
А ну, если явно не задать IsLabel для полей - то да, не будет
источник

JS

Jerzy Syrowiecki in Haskell Start
Yan Shkurinskiy
Алексей же кажется это и написал
нет, наоборот
источник

JS

Jerzy Syrowiecki in Haskell Start
Yan Shkurinskiy
ну там же  #foo преобразуется к  fromLabel @"foo" или как там
это не имеет прямого отношения к рекордам
источник

YS

Yan Shkurinskiy in Haskell Start
Jerzy Syrowiecki
это не имеет прямого отношения к рекордам
ну да, я сверху написал
источник

YS

Yan Shkurinskiy in Haskell Start
додумал видимо за Алексея
источник