packages feed

elm-compiler-0.14: src/Type/PrettyPrint.hs

module Type.PrettyPrint where

import Text.PrettyPrint


data ParensWhen = Fn | App | Never


class PrettyType a where
    pretty :: ParensWhen -> a -> Doc


commaSep :: [Doc] -> Doc
commaSep docs =
    sep (punctuate comma docs)


parensIf :: Bool -> Doc -> Doc
parensIf bool doc =
    if bool then parens doc else doc