В списке рассылки появилось сообщение от 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» для натуральных чисел.
Подробнее обо всех расширениях можно узнать здесь:
http://hackage.haskell.org/trac/haske...