Size: a a a

2021 March 06

АК

Анатолий Кот... in Haskell Start
источник

АК

Анатолий Кот... in Haskell Start
пишет Not in scope: type variable ‘b’, хотя в определении функции b присутствует
источник

YS

Yan Shkurinskiy in Haskell Start
ScopedTypesVariables
источник

YS

Yan Shkurinskiy in Haskell Start
Расширение
источник

АК

Анатолий Кот... in Haskell Start
включено
источник

АК

Анатолий Кот... in Haskell Start
а, понял в чем проблема - нужно было явный forall добавить\
источник

YS

Yan Shkurinskiy in Haskell Start
Да, форолл ещё нужно было)
источник

VB

Vadym Biliuk in Haskell Start
Подскажите, я где-то в синтаксисе ошибся?
источник

VB

Vadym Biliuk in Haskell Start
[typecheck] [E] Multiple declarations of id
Телеграм съел качество
источник

TZ

Timofey Zakrevskiy in Haskell Start
id - библиотечная функция, импортируется неявно в Prelude
источник

TZ

Timofey Zakrevskiy in Haskell Start
Так что либо спрятать этот импорт, либо переименовать поле вашего рекорда
источник

TZ

Timofey Zakrevskiy in Haskell Start
import Prelude hiding (id)
источник

VB

Vadym Biliuk in Haskell Start
Спасибо большое
источник

VB

Vadym Biliuk in Haskell Start
Но почему тогда в первых двух вариантах работает без ошибки?
источник

TZ

Timofey Zakrevskiy in Haskell Start
А вы уверены, что там нет ошибки?
источник

TZ

Timofey Zakrevskiy in Haskell Start
Компилятор будет недоволен на любой конфликт имён
источник

TZ

Timofey Zakrevskiy in Haskell Start
Плюс - без дополнительных ухищрений (расширений) вы не сможете объявить в одном модуле в двух разных рекордах поля с одинаковыми именами
источник

TZ

Timofey Zakrevskiy in Haskell Start
Так как по имени поля в рекорде сгенерится функция-геттер
источник

VB

Vadym Biliuk in Haskell Start
Timofey Zakrevskiy
Плюс - без дополнительных ухищрений (расширений) вы не сможете объявить в одном модуле в двух разных рекордах поля с одинаковыми именами
Странно, возможно я упустил это в главе с рекордами, так как не помню описания подобного поведения.
Спасибо, я пойду читать/пробовать дальше
источник

TZ

Timofey Zakrevskiy in Haskell Start
Ещё можно почитать про расширение DuplicateRecordFields
источник