Spec-Zone.ru › Haskell 9

6.5.2. Традиционный синтаксис записей

TraditionalRecordSyntax
Начиная с:

7.4.1

Статус:

Включено по умолчанию.

Разрешает традиционный синтаксис записей (например, C {f = x}).

Традиционный синтаксис записей, например C {f = x}, включён по умолчанию. Чтобы отключить его, можно использовать расширение NoTraditionalRecordSyntax.

При использовании NoTraditionalRecordSyntax нельзя определять тип данных-запись или использовать синтаксис записей в выражении. Например, для всего перечисленного ниже требуется TraditionalRecordSyntax:

data T = MkT { foo :: Int }  -- record datatype definition

x = MkT { foo = 3 }          -- construction

y = x { foo = 3 }            -- update

f (MkT { foo = i }) = i      -- pattern matching

Однако, если функция-селектор поля доступна в области видимости, её можно использовать обычным образом. (Это возможно, если модуль, использующий NoTraditionalRecordSyntax, импортирует модуль, в котором запись была определена при включённом TraditionalRecordSyntax.) Если вы хотите отключить функции-селекторы полей, используйте расширение NoFieldSelectors.

© 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/traditional_record_syntax.html

Spec-Zone.ru

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