Новая ревизия языка Haskell — Haskell 2010

В списке рассылки появилось сообщение от Simon Marlow, где объявляется о новой ревизии языка Haskell — Haskell 2010.
Расширения, которые вошли в новый стандарт:
  • DoAndIfThenElse
    Синтаксис if-then-else будет выглядеть как "exp -> if exp1 [;] then exp2 [;] else exp3".
    "then" и "else" можно будет располагать на одном уровне.
  • HierarchicalModules
    Иерархическая структура модулей наконец-то войдёт в официальный стандарт.
  • EmptyDataDeclarations
    Конструкторы типов без конструкторов данных (это типы с единственным значением: _|_).
  • FixityResolution
    Изменения в синтаксическом разборе операторов с приоритетами. Важно только для официального отчёта.
  • ForeignFunctionInterface
    Давно использующийся FFI тоже войдёт в Haskell2010.
  • LineCommentSyntax
    Небольшое исправление, связанное со строчными комментариями.
  • PatternGuards
    Сопоставление с образцами в охраняющих выражениях.
  • RelaxedDependencyAnalysis
    Ослабленный анализ зависимостей: при выводе типов игнорируются ссылки на связанные переменные с явно указанными типами. Monomorphism restriction is gone.
  • LanguagePragma
    В отчёте будет упоминаться прагма "LANGUAGE" с расширениями: DoAndIfThenElse, HierarchicalModules, FixityResolution, PatternGuards, NoNPlusKPatterns, RelaxedDependencyAnalysis, LineCommentSyntax, EmptyDataDeclarations, LanguagePragma и ForeignFunctionInterface.
    Реализация, поддерживающая прагмы, должна обрабатывать "{-# LANGUAGE Haskell2010 -#}" (включает все вышеперечисленые расширения).
  • NoNPlusKPatterns
    Убран вариант синтаксиса при сопоставлении с образцом вида "n + k" для натуральных чисел.
Подробнее обо всех расширениях можно узнать здесь.

©  Root.UA