как сделать лучше, когда есть поле с именем id или другим зарезервированным именем. добавить какой-то префикс (нижнее подчеркивание, например)? а ещё вопрос в том, как быть с одинаковыми именами? например, есть data User = User { name :: String ... } и data Organization = Organization { name :: String ... }
я поискал на эту тему, нашел доклад одного человека. он сказал, что можно использовать линзы, но это не избавляет нас от первой проблемы. в общем, как вы предпочитаете работать с такого рода типами?
Нижнее подчеркивание или префикс для всех полей, потом при выводе инстансов или линз модификаторы, которые отбрасывают лишнее
import Prelude hiding (id)
получается, в случае линз будет что-то по типу data User = User { __id :: Int, _age :: Int }?
Не, либо просто _id и age, либо userId и userAge
к сожеланию, такое не получится провернуть, например, с ключевыми словами или с функциями, которые надо использовать
в этом случае я пишу type_, data_
Предлагаю c-way с учётом того, что рекорды функции в глобал скоп херачат - название структуры префиксом к полю
Обсуждают сегодня