Какие пространства имен символов существуют в Haskell?

Я пытаюсь уменьшить путаницу в синтаксисе Haskell и хотел бы выяснить, какие отдельные пространства имен существуют в Haskell.

Пространства имен означают синтаксические пространства имен, соответствующие различным таблицам символов, которыми управляет компилятор, а не области имен, определенные в коде.

Например:

  • Имена значений (как имена функций)
  • Конструкторы данных
  • Конструкторы типов
  • Параметры типа (в определениях типов)
  • экземпляры ?
  • ...?

Мне это интересно, потому что у меня возникают проблемы с чтением кода на Haskell (определенно больше, чем с любым другим языком), потому что мне часто трудно понять, что именноя ищу (особенно с конструкторы данных/типа/объявления типов).

Haskell, кажется, повторно использует несколько синтаксических конструкций (особенно ... ) во многих местах и ​​полагается на контекст — просто оказывается, что компилятор намного лучше справляется с этим. это чем я...

6
задан Martin 18 May 2012 в 21:20
поделиться