Language.Haskell.TH.Quote
| Safe Haskell | Безопасно |
|---|---|
| Язык | Haskell2010 |
Содержание
Описание
Template Haskell поддерживает квазицитирование, что позволяет пользователям создавать фрагменты программ путём прямого написания конкретной синтаксической конструкции. Квазицитировщик — это по сути функция, которая принимает строку в качестве аргумента и возвращает AST Template Haskell. Этот модуль определяет тип QuasiQuoter, который задаёт квазицитировщик q, который может быть вызван с помощью синтаксиса [q| ... string to parse ... |], когда включена расширение языка QuasiQuotes, а также некоторые вспомогательные функции для работы с квазицитировщиками. Обратите внимание: этот пакет не определяет никаких парсеров, это ваша задача.
тип QuasiQuoter
Конструкторы
| QuasiQuoter | |
quoteFile :: QuasiQuoter -> QuasiQuoter Источник
quoteFile принимает QuasiQuoter и поднимает его к одному, который считывает данные из файла. Например, предположим, что asmq — это квазицитировщик ассемблерного языка, так что вы можете написать [asmq| ld r1, r2 |] как выражение. Тогда, если вы определите asmq_f = quoteFile asmq, то [asmq_f|foo.s|] будет читать данные из файла "foo.s" вместо строки.
Для обратной совместимости
dataToQa :: (Quote m, Data a) => (Имя -> k) -> (Литерал -> m q) -> (k -> [m q] -> m q) -> (forall b. Data b => b -> Возможно (m q)) -> a -> m q
dataToExpQ :: (Quote m, Data a) => (forall b. Data b => b -> Возможно (m Выражение)) -> a -> m Выражение
dataToPatQ :: (Quote m, Data a) => (forall b. Data b => b -> Возможно (m Шаблон)) -> a -> m Шаблон
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/template-haskell-2.23.0.0-22c1/Language-Haskell-TH-Quote.html