Spec-Zone.ru › Haskell 9

6.2.16. Do и if-then-else

DoAndIfThenElse
Версия:

7.0.1

Статус:

Включено в Haskell2010

Разрешает использовать точки с запятой в выражениях if.

Обычно условное выражение записывается так: if cond then expr1 else expr2. С расширением DoAndIfThenElse точки с запятой разрешены перед then, а также перед else, что позволяет писать if cond; then expr1; else expr2. (Также можно использовать каждую из этих точек с запятой отдельно.)

Возможность использовать точки с запятой в середине условного выражения полезна в сочетании с блоками, управляемыми отступами, например, do-блоками. Это связано с тем, что GHC незаметно вставляет точку с запятой между каждой строкой такого блока. Поэтому с расширением DoAndIfThenElse можно писать код, например, так

f mb x y = do
  b <- mb
  if b
  then x
  else y

Без расширения DoAndIfThenElse строки then и else пришлось бы сдвинуть относительно остальных строк в do-блоке.

© 2002–2007 The University Court of the University of Glasgow. All rights reserved.
Licensed under the Glasgow Haskell Compiler License.
https://downloads.haskell.org/~ghc/9.14.1/docs/users_guide/exts/doandifthenelse.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API