purescript-0.15.15: PureScript Programming Language Compiler

Safe Haskell | None
Language | Haskell2010

Language.PureScript.Pretty.Types

Description

Pretty printer for Types

Synopsis

- data PrettyPrintType
  - = PPTUnknown Int
  - | PPTypeVar Text (Maybe Text)
  - | PPTypeLevelString PSString
  - | PPTypeLevelInt Integer
  - | PPTypeWildcard (Maybe Text)
  - | PPTypeConstructor (Qualified (ProperName 'TypeName))
  - | PPTypeOp (Qualified (OpName 'TypeOpName))
  - | PPSkolem Text Int
  - | PPTypeApp PrettyPrintType PrettyPrintType
  - | PPKindArg PrettyPrintType
  - | PPConstrainedType PrettyPrintConstraint PrettyPrintType
  - | PPKindedType PrettyPrintType PrettyPrintType
  - | PPBinaryNoParensType PrettyPrintType PrettyPrintType PrettyPrintType
  - | PPParensInType PrettyPrintType
  - | PPForAll [(TypeVarVisibility, Text, Maybe PrettyPrintType)] PrettyPrintType
  - | PPFunction PrettyPrintType PrettyPrintType
  - | PPRecord [(Label, PrettyPrintType)] (Maybe PrettyPrintType)
  - | PPRow [(Label, PrettyPrintType)] (Maybe PrettyPrintType)
  - | PPTruncated
- type PrettyPrintConstraint = (Qualified (ProperName 'ClassName), [PrettyPrintType], [PrettyPrintType])
- convertPrettyPrintType :: Int -> Type a -> PrettyPrintType
- typeAsBox :: Int -> Type a -> Box
- typeDiffAsBox :: Int -> Type a -> Box
- prettyPrintType :: Int -> Type a -> String
- prettyPrintTypeWithUnicode :: Int -> Type a -> String
- prettyPrintSuggestedType :: Type a -> String
- typeAtomAsBox :: Int -> Type a -> Box
- prettyPrintTypeAtom :: Int -> Type a -> String
- prettyPrintLabel :: Label -> Text
- prettyPrintObjectKey :: PSString -> Text

# Documentation

data PrettyPrintType #

Constructors

PPTUnknown Int |
PPTypeVar Text (Maybe Text) |
PPTypeLevelString PSString |
PPTypeLevelInt Integer |
PPTypeWildcard (Maybe Text) |
PPTypeConstructor (Qualified (ProperName 'TypeName)) |
PPTypeOp (Qualified (OpName 'TypeOpName)) |
PPSkolem Text Int |
PPTypeApp PrettyPrintType PrettyPrintType |
PPKindArg PrettyPrintType |
PPConstrainedType PrettyPrintConstraint PrettyPrintType |
PPKindedType PrettyPrintType PrettyPrintType |
PPBinaryNoParensType PrettyPrintType PrettyPrintType PrettyPrintType |
PPParensInType PrettyPrintType |
PPForAll [(TypeVarVisibility, Text, Maybe PrettyPrintType)] PrettyPrintType |
PPFunction PrettyPrintType PrettyPrintType |
PPRecord [(Label, PrettyPrintType)] (Maybe PrettyPrintType) |
PPRow [(Label, PrettyPrintType)] (Maybe PrettyPrintType) |
PPTruncated |

type PrettyPrintConstraint = (Qualified (ProperName 'ClassName), [PrettyPrintType], [PrettyPrintType]) #

convertPrettyPrintType :: Int -> Type a -> PrettyPrintType #

typeAsBox :: Int -> Type a -> Box #

typeDiffAsBox :: Int -> Type a -> Box #

prettyPrintType :: Int -> Type a -> String #

Generate a pretty-printed string representing a `Type`

prettyPrintTypeWithUnicode :: Int -> Type a -> String #

Generate a pretty-printed string representing a `Type` using unicode symbols where applicable

prettyPrintSuggestedType :: Type a -> String #

Generate a pretty-printed string representing a suggested `Type`

typeAtomAsBox :: Int -> Type a -> Box #

prettyPrintTypeAtom :: Int -> Type a -> String #

Generate a pretty-printed string representing a Type, as it should appear inside parentheses

prettyPrintLabel :: Label -> Text #

prettyPrintObjectKey :: PSString -> Text #