Spec-Zone.ru › Haskell 8

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

Методы

fmap :: (a -> b) -> PprM a -> PprM b Исходный код

(<$) :: a -> PprM b -> PprM a Исходный код

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 Исходный код

Символ :

dcolon :: Doc Исходный код

Строка «::»

space :: Doc Исходный код

Пробел

equals :: Doc Исходный код

Символ «=»

arrow :: Doc Source

Строка "->"

lparen :: Doc Source

Символ '('

rparen :: Doc Source

Символ ')'

lbrack :: Doc Source

Символ '['

rbrack :: Doc Source

Символ ']'

lbrace :: Doc Source

Символ '{'

rbrace :: Doc Source

Символ '}'

Преобразование значений в документы

text :: String -> Doc Source

char :: Char -> Doc Source

ptext :: String -> Doc Source

int :: Int -> Doc Source

integer :: Integer -> Doc Source

float :: Float -> Doc Source

double :: Double -> Doc Source

rational :: Rational -> Doc Source

Оборачивание документов в разделители

parens :: Doc -> Doc Source

Оборачивание документа в (...)

brackets :: Doc -> Doc Source

Оборачивание документа в [...]

braces :: Doc -> Doc Source

Оборачивание документа в {...}

quotes :: Doc -> Doc Source

Оборачивание документа в '...'

doubleQuotes :: Doc -> Doc Source

Оборачивание документа в "..."

Комбинирование документов

(<>) :: Doc -> Doc -> Doc infixl 6 Source

Рядом

(<+>) :: Doc -> Doc -> Doc infixl 6 Source

Рядом, разделенные пробелом

hcat :: [Doc] -> Doc Source

Список версий <>

hsep :: [Doc] -> Doc Source

Список версий <+>

($$) :: Doc -> Doc -> Doc infixl 5 Source

Над; если нет перекрытия, то «согласует» два

($+$) :: Doc -> Doc -> Doc infixl 5 Source

Сверху, без согласования.

vcat :: [Doc] -> Doc Source

Список версий $$

sep :: [Doc] -> Doc Source

Либо hsep, либо vcat

cat :: [Doc] -> Doc Source

Либо hcat, либо vcat

fsep :: [Doc] -> Doc Source

"Форматирование абзаца" версия sep

fcat :: [Doc] -> Doc Source

"Форматирование абзаца" версия cat

nest :: Int -> Doc -> Doc Source

Вложенный

hang :: Doc -> Int -> Doc -> Doc Source

hang d1 n d2 = sep [d1, nest n d2]

punctuate Source

Аргументы

:: Doc
-> [Doc]
-> [Doc]
punctuate p [d1, ... dn] = [d1 <> p, d2 <> p, ... dn-1 <> p, dn]

Предикаты по документам

isEmpty :: Doc -> PprM Bool Source

Возвращает True если документ пустой

to_HPJ_Doc :: Doc -> Doc Source

pprName :: Name -> Doc Source

pprName' :: NameIs -> Name -> 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

Spec-Zone.ru

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