Как можно экспортировать запись типа данных в haskell, не экспортируя ее поля? - PullRequest
0 голосов
/ 18 января 2019

Я видел несколько более старый вопрос на Как избежать загрязнения пространства имен в Haskell и ищу современное решение с использованием линз.

Я думаю, что подход будет состоять из нескольких шагов:

  1. Переписать поля так, чтобы они были удобными для линз: field -> _field.
  2. Используйте линзы.
  3. Избегайте экспорта (или импорта на стороне пользователя) _field s.

Меня больше всего интересует пункт 3 в этом вопросе, так как я думаю, что могу выяснить остальное на основе существующих ресурсов. Но, возможно, это невозможно.

...