Language.Haskell.TH.PprLib
| Safe Haskell | Safe |
|---|---|
| Язык | Haskell2010 |
Описание
Монадный фронтенд для Text.PrettyPrint
Тип документа
type Doc = PprM Doc Исходный код
data PprM a Исходный код
Примеры реализации
| Monad PprM | |
Определено в Language.Haskell.TH.PprLib Методы(>>=) :: PprM a -> (a -> PprM b) -> PprM b Исходный код (>>) :: PprM a -> PprM b -> PprM b Исходный код return :: a -> PprM a Исходный код | |
| Functor PprM | |
Определено в Language.Haskell.TH.PprLib | |
| Show Doc | |
Определено в Language.Haskell.TH.PprLib МетодыshowsPrec :: Int -> Doc -> ShowS Исходный код show :: Doc -> Строка Исходный код showList :: [Doc] -> ShowS Исходный код | |
| Applicative PprM | |
Определено в Language.Haskell.TH.PprLib Методыpure :: a -> PprM a Исходный код (<*>) :: PprM (a -> b) -> PprM a -> PprM b Исходный код liftA2 :: (a -> b -> c) -> PprM a -> PprM b -> PprM c Исходный код (*>) :: PprM a -> PprM b -> PprM b Исходный код (<*) :: PprM a -> PprM b -> PprM a Исходный код | |
Примитивные документы
empty :: Doc Исходный код
Пустой документ
semi :: Doc Исходный код
Символ «;»
comma :: Doc Исходный код
Символ «,»
colon :: Doc Исходный код
Символ :
Строка «::»
space :: Doc Исходный код
Пробел
Символ «=»
Строка "->"
Символ '('
Символ ')'
Символ '['
Символ ']'
Символ '{'
Символ '}'
Преобразование значений в документы
integer :: Integer -> Doc Source
double :: Double -> Doc Source
rational :: Rational -> Doc Source
Оборачивание документов в разделители
Оборачивание документа в (...)
Оборачивание документа в [...]
Оборачивание документа в {...}
Оборачивание документа в '...'
doubleQuotes :: Doc -> Doc Source
Оборачивание документа в "..."
Комбинирование документов
(<>) :: Doc -> Doc -> Doc infixl 6 Source
Рядом
(<+>) :: Doc -> Doc -> Doc infixl 6 Source
Рядом, разделенные пробелом
Список версий <>
Список версий <+>
($$) :: Doc -> Doc -> Doc infixl 5 Source
Над; если нет перекрытия, то «согласует» два
($+$) :: Doc -> Doc -> Doc infixl 5 Source
Сверху, без согласования.
Список версий $$
Либо hsep, либо vcat
Либо hcat, либо vcat
"Форматирование абзаца" версия sep
"Форматирование абзаца" версия cat
nest :: Int -> Doc -> Doc Source
Вложенный
hang :: Doc -> Int -> Doc -> Doc Source
hang d1 n d2 = sep [d1, nest n d2]
Предикаты по документам
isEmpty :: Doc -> PprM Bool Source
Возвращает True если документ пустой
to_HPJ_Doc :: Doc -> Doc Source
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/template-haskell-2.16.0.0/Language-Haskell-TH-PprLib.html