Spec-Zone.ru › Haskell 9

6.2.16. Локальные объявления фиктивности

Внимательное чтение отчета Haskell 98 показывает, что объявления фиктивности (infix, infixl, и infixr) могут появляться внутри локальных связей, таких как те, что введены с помощью let и where. Однако отчет Haskell не указывает семантику таких связей очень точно.

В GHC объявление фиктивности может сопровождать локальную связь:

let f = ...
    infixr 3 `f`
in
    ...

и объявление фиктивности применяется там, где область действия связи. Например, в let, оно применяется в правых частях других связей let и теле letC. Или же в рекурсивных do выражениях (Рекурсивный синтаксис do), локальные объявления фиктивности утверждения let охватывают другие утверждения в группе, точно так же, как связанное имя.

Более того, локальное объявление фиктивности должно сопровождать локальную связь с этим именем: невозможно пересмотреть фиктивность имени, связанного где-то еще, как в

let infixr 9 $ in ...

Поскольку локальные объявления фиктивности являются технически частью Haskell 98, для их включения не требуется никаких расширений.

© 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.12.1/docs/users_guide/exts/local_fixity_decls.html

Spec-Zone.ru

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