Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- putLn :: MonadIO m => Doc AnsiStyle -> m ()
- hPutLn :: MonadIO m => Handle -> Doc AnsiStyle -> m ()
- black :: Doc AnsiStyle -> Doc AnsiStyle
- blue :: Doc AnsiStyle -> Doc AnsiStyle
- cyan :: Doc AnsiStyle -> Doc AnsiStyle
- docToLazyText :: Doc AnsiStyle -> Text
- docToString :: Doc AnsiStyle -> String
- docToText :: Doc AnsiStyle -> Text
- green :: Doc AnsiStyle -> Doc AnsiStyle
- magenta :: Doc AnsiStyle -> Doc AnsiStyle
- prettyException :: Exception a => a -> Doc ann
- pshow :: Show a => a -> Doc ann
- red :: Doc AnsiStyle -> Doc AnsiStyle
- white :: Doc AnsiStyle -> Doc AnsiStyle
- yellow :: Doc AnsiStyle -> Doc AnsiStyle
- (<+>) :: Doc ann -> Doc ann -> Doc ann
- hsep :: [Doc ann] -> Doc ann
- vsep :: [Doc ann] -> Doc ann
- class Monad m => MonadIO (m :: Type -> Type) where
- type Ann = AnsiStyle
- newtype ShowOf a = ShowOf a
- data Doc ann
- class Pretty a where
- pretty :: a -> Doc ann
- prettyList :: [a] -> Doc ann
Documentation
docToLazyText :: Doc AnsiStyle -> Text #
docToString :: Doc AnsiStyle -> String #
prettyException :: Exception a => a -> Doc ann #
hsep :: [Doc ann] -> Doc ann Source #
(
concatenates all documents hsep
xs)xs
horizontally with
,
i.e. it puts a space between all entries.<+>
>>>
let docs = Util.words "lorem ipsum dolor sit amet"
>>>
hsep docs
lorem ipsum dolor sit amet
does not introduce line breaks on its own, even when the page is too
narrow:hsep
>>>
putDocW 5 (hsep docs)
lorem ipsum dolor sit amet
For automatic line breaks, consider using fillSep
instead.
vsep :: [Doc ann] -> Doc ann Source #
(
concatenates all documents vsep
xs)xs
above each other. If a
group
undoes the line breaks inserted by vsep
, the documents are
separated with a space
instead.
Using vsep
alone yields
>>>
"prefix" <+> vsep ["text", "to", "lay", "out"]
prefix text to lay out
group
ing a vsep
separates the documents with a space
if it fits the
page (and does nothing otherwise). See the
convenience function for
this use case.sep
The align
function can be used to align the documents under their first
element:
>>>
"prefix" <+> align (vsep ["text", "to", "lay", "out"])
prefix text to lay out
Since group
ing a vsep
is rather common, sep
is a built-in for doing
that.
class Monad m => MonadIO (m :: Type -> Type) where Source #
Monads in which IO
computations may be embedded.
Any monad built by applying a sequence of monad transformers to the
IO
monad will be an instance of this class.
Instances should satisfy the following laws, which state that liftIO
is a transformer of monads:
liftIO :: IO a -> m a Source #
Lift a computation from the IO
monad.
This allows us to run IO computations in any monadic stack, so long as it supports these kinds of operations
(i.e. IO
is the base monad for the stack).
Example
import Control.Monad.Trans.State -- from the "transformers" library printState :: Show s => StateT s IO () printState = do state <- get liftIO $ print state
Had we omitted
, we would have ended up with this error:liftIO
• Couldn't match type ‘IO’ with ‘StateT s IO’ Expected type: StateT s IO () Actual type: IO ()
The important part here is the mismatch between StateT s IO ()
and
.IO
()
Luckily, we know of a function that takes an
and returns an IO
a(m a)
:
,
enabling us to run the program and see the expected results:liftIO
> evalStateT printState "hello" "hello" > evalStateT printState 3 3
Instances
ShowOf a |
The abstract data type
represents pretty documents that have
been annotated with data of type Doc
annann
.
More specifically, a value of type
represents a non-empty set of
possible layouts of a document. The layout functions select one of these
possibilities, taking into account things like the width of the output
document.Doc
The annotation is an arbitrary piece of data associated with (part of) a document. Annotations may be used by the rendering backends in order to display output differently, such as
- color information (e.g. when rendering to the terminal)
- mouseover text (e.g. when rendering to rich HTML)
- whether to show something or not (to allow simple or detailed versions)
The simplest way to display a Doc
is via the Show
class.
>>>
putStrLn (show (vsep ["hello", "world"]))
hello world
Instances
pretty :: a -> Doc ann Source #
>>>
pretty 1 <+> pretty "hello" <+> pretty 1.234
1 hello 1.234
prettyList :: [a] -> Doc ann Source #
is only used to define the prettyList
instance
. In normal circumstances only the Pretty
a => Pretty
[a]
function is used.pretty
>>>
prettyList [1, 23, 456]
[1, 23, 456]
Instances
Pretty Void | Finding a good example for printing something that does not exist is hard, so here is an example of printing a list full of nothing.
|
Pretty Int16 | |
Pretty Int32 | |
Pretty Int64 | |
Pretty Int8 | |
Pretty Word16 | |
Pretty Word32 | |
Pretty Word64 | |
Pretty Word8 | |
Pretty AnyCardanoEra | |
Defined in Cardano.Api.Eras.Core pretty :: AnyCardanoEra -> Doc ann Source # prettyList :: [AnyCardanoEra] -> Doc ann Source # | |
Pretty TxOutInAnyEra | |
Defined in Cardano.Api.Tx.Body pretty :: TxOutInAnyEra -> Doc ann Source # prettyList :: [TxOutInAnyEra] -> Doc ann Source # | |
Pretty TxIn | |
Pretty Ann | |
Pretty SrcSpan | |
Pretty SrcSpans | |
Pretty BuiltinError | |
Defined in PlutusCore.Builtin.Result pretty :: BuiltinError -> Doc ann Source # prettyList :: [BuiltinError] -> Doc ann Source # | |
Pretty UnliftingError | |
Defined in PlutusCore.Builtin.Result pretty :: UnliftingError -> Doc ann Source # prettyList :: [UnliftingError] -> Doc ann Source # | |
Pretty UnliftingEvaluationError | |
Defined in PlutusCore.Builtin.Result pretty :: UnliftingEvaluationError -> Doc ann Source # prettyList :: [UnliftingEvaluationError] -> Doc ann Source # | |
Pretty Data | |
Pretty FreeVariableError | |
Defined in PlutusCore.DeBruijn.Internal pretty :: FreeVariableError -> Doc ann Source # prettyList :: [FreeVariableError] -> Doc ann Source # | |
Pretty Index | |
Pretty DefaultFun | |
Defined in PlutusCore.Default.Builtins pretty :: DefaultFun -> Doc ann Source # prettyList :: [DefaultFun] -> Doc ann Source # | |
Pretty ParserError | |
Defined in PlutusCore.Error pretty :: ParserError -> Doc ann Source # prettyList :: [ParserError] -> Doc ann Source # | |
Pretty ParserErrorBundle | |
Defined in PlutusCore.Error pretty :: ParserErrorBundle -> Doc ann Source # prettyList :: [ParserErrorBundle] -> Doc ann Source # | |
Pretty CkUserError | |
Defined in PlutusCore.Evaluation.Machine.Ck | |
Pretty CostModelApplyError | |
Defined in PlutusCore.Evaluation.Machine.CostModelInterface pretty :: CostModelApplyError -> Doc ann Source # prettyList :: [CostModelApplyError] -> Doc ann Source # | |
Pretty CostModelApplyWarn | |
Defined in PlutusCore.Evaluation.Machine.CostModelInterface pretty :: CostModelApplyWarn -> Doc ann Source # prettyList :: [CostModelApplyWarn] -> Doc ann Source # | |
Pretty ExBudget | |
Pretty ExRestrictingBudget | |
Defined in PlutusCore.Evaluation.Machine.ExBudget pretty :: ExRestrictingBudget -> Doc ann Source # prettyList :: [ExRestrictingBudget] -> Doc ann Source # | |
Pretty ExCPU | |
Pretty ExMemory | |
Pretty Unique | |
Pretty Version | |
Pretty CountingSt | |
Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode pretty :: CountingSt -> Doc ann Source # prettyList :: [CountingSt] -> Doc ann Source # | |
Pretty RestrictingSt | |
Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode pretty :: RestrictingSt -> Doc ann Source # prettyList :: [RestrictingSt] -> Doc ann Source # | |
Pretty CekUserError | |
Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal pretty :: CekUserError -> Doc ann Source # prettyList :: [CekUserError] -> Doc ann Source # | |
Pretty DatatypeComponent | |
Defined in PlutusIR.Compiler.Provenance | |
Pretty GeneratedKind | |
Defined in PlutusIR.Compiler.Provenance | |
Pretty EvaluationError | |
Defined in PlutusLedgerApi.Common.Eval pretty :: EvaluationError -> Doc ann Source # prettyList :: [EvaluationError] -> Doc ann Source # | |
Pretty MajorProtocolVersion | |
Defined in PlutusLedgerApi.Common.ProtocolVersions pretty :: MajorProtocolVersion -> Doc ann Source # prettyList :: [MajorProtocolVersion] -> Doc ann Source # | |
Pretty ScriptDecodeError | |
Defined in PlutusLedgerApi.Common.SerialisedScript pretty :: ScriptDecodeError -> Doc ann Source # prettyList :: [ScriptDecodeError] -> Doc ann Source # | |
Pretty PlutusLedgerLanguage | |
Defined in PlutusLedgerApi.Common.Versions pretty :: PlutusLedgerLanguage -> Doc ann Source # prettyList :: [PlutusLedgerLanguage] -> Doc ann Source # | |
Pretty Address | |
Pretty LedgerBytes | |
Defined in PlutusLedgerApi.V1.Bytes pretty :: LedgerBytes -> Doc ann Source # prettyList :: [LedgerBytes] -> Doc ann Source # | |
Pretty ScriptContext | |
Defined in PlutusLedgerApi.V1.Contexts pretty :: ScriptContext -> Doc ann Source # prettyList :: [ScriptContext] -> Doc ann Source # | |
Pretty ScriptPurpose | |
Defined in PlutusLedgerApi.V1.Contexts pretty :: ScriptPurpose -> Doc ann Source # prettyList :: [ScriptPurpose] -> Doc ann Source # | |
Pretty TxInInfo | |
Pretty TxInfo | |
Pretty Credential | |
Defined in PlutusLedgerApi.V1.Credential pretty :: Credential -> Doc ann Source # prettyList :: [Credential] -> Doc ann Source # | |
Pretty StakingCredential | |
Defined in PlutusLedgerApi.V1.Credential pretty :: StakingCredential -> Doc ann Source # prettyList :: [StakingCredential] -> Doc ann Source # | |
Pretty PubKeyHash | using hex encoding |
Defined in PlutusLedgerApi.V1.Crypto pretty :: PubKeyHash -> Doc ann Source # prettyList :: [PubKeyHash] -> Doc ann Source # | |
Pretty DCert | |
Pretty Context | |
Pretty Datum | |
Pretty DatumHash | using hex encoding |
Pretty Redeemer | |
Pretty RedeemerHash | using hex encoding |
Defined in PlutusLedgerApi.V1.Scripts pretty :: RedeemerHash -> Doc ann Source # prettyList :: [RedeemerHash] -> Doc ann Source # | |
Pretty ScriptHash | using hex encoding |
Defined in PlutusLedgerApi.V1.Scripts pretty :: ScriptHash -> Doc ann Source # prettyList :: [ScriptHash] -> Doc ann Source # | |
Pretty POSIXTime | |
Pretty TxId | using hex encoding |
Pretty TxOut | |
Pretty TxOutRef | |
Pretty AssetClass | |
Defined in PlutusLedgerApi.V1.Value pretty :: AssetClass -> Doc ann Source # prettyList :: [AssetClass] -> Doc ann Source # | |
Pretty CurrencySymbol | using hex encoding |
Defined in PlutusLedgerApi.V1.Value pretty :: CurrencySymbol -> Doc ann Source # prettyList :: [CurrencySymbol] -> Doc ann Source # | |
Pretty Lovelace | |
Pretty TokenName | |
Pretty Value | |
Pretty ScriptContext | |
Defined in PlutusLedgerApi.V2.Contexts pretty :: ScriptContext -> Doc ann Source # prettyList :: [ScriptContext] -> Doc ann Source # | |
Pretty TxInInfo | |
Pretty TxInfo | |
Pretty OutputDatum | |
Defined in PlutusLedgerApi.V2.Tx pretty :: OutputDatum -> Doc ann Source # prettyList :: [OutputDatum] -> Doc ann Source # | |
Pretty TxOut | |
Pretty ChangedParameters | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: ChangedParameters -> Doc ann Source # prettyList :: [ChangedParameters] -> Doc ann Source # | |
Pretty ColdCommitteeCredential | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: ColdCommitteeCredential -> Doc ann Source # prettyList :: [ColdCommitteeCredential] -> Doc ann Source # | |
Pretty Committee | |
Pretty Constitution | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: Constitution -> Doc ann Source # prettyList :: [Constitution] -> Doc ann Source # | |
Pretty DRep | |
Pretty DRepCredential | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: DRepCredential -> Doc ann Source # prettyList :: [DRepCredential] -> Doc ann Source # | |
Pretty Delegatee | |
Pretty GovernanceAction | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: GovernanceAction -> Doc ann Source # prettyList :: [GovernanceAction] -> Doc ann Source # | |
Pretty GovernanceActionId | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: GovernanceActionId -> Doc ann Source # prettyList :: [GovernanceActionId] -> Doc ann Source # | |
Pretty HotCommitteeCredential | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: HotCommitteeCredential -> Doc ann Source # prettyList :: [HotCommitteeCredential] -> Doc ann Source # | |
Pretty ProposalProcedure | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: ProposalProcedure -> Doc ann Source # prettyList :: [ProposalProcedure] -> Doc ann Source # | |
Pretty ProtocolVersion | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: ProtocolVersion -> Doc ann Source # prettyList :: [ProtocolVersion] -> Doc ann Source # | |
Pretty ScriptContext | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: ScriptContext -> Doc ann Source # prettyList :: [ScriptContext] -> Doc ann Source # | |
Pretty ScriptInfo | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: ScriptInfo -> Doc ann Source # prettyList :: [ScriptInfo] -> Doc ann Source # | |
Pretty ScriptPurpose | |
Defined in PlutusLedgerApi.V3.Contexts pretty :: ScriptPurpose -> Doc ann Source # prettyList :: [ScriptPurpose] -> Doc ann Source # | |
Pretty TxCert | |
Pretty TxInInfo | |
Pretty TxInfo | |
Pretty Vote | |
Pretty Voter | |
Pretty TxId | using hex encoding |
Pretty TxOutRef | |
Pretty BuiltinBLS12_381_G1_Element | |
Defined in PlutusTx.Builtins.Internal pretty :: BuiltinBLS12_381_G1_Element -> Doc ann Source # prettyList :: [BuiltinBLS12_381_G1_Element] -> Doc ann Source # | |
Pretty BuiltinBLS12_381_G2_Element | |
Defined in PlutusTx.Builtins.Internal pretty :: BuiltinBLS12_381_G2_Element -> Doc ann Source # prettyList :: [BuiltinBLS12_381_G2_Element] -> Doc ann Source # | |
Pretty BuiltinBLS12_381_MlResult | |
Defined in PlutusTx.Builtins.Internal pretty :: BuiltinBLS12_381_MlResult -> Doc ann Source # prettyList :: [BuiltinBLS12_381_MlResult] -> Doc ann Source # | |
Pretty BuiltinByteString | |
Defined in PlutusTx.Builtins.Internal pretty :: BuiltinByteString -> Doc ann Source # prettyList :: [BuiltinByteString] -> Doc ann Source # | |
Pretty BuiltinData | |
Defined in PlutusTx.Builtins.Internal pretty :: BuiltinData -> Doc ann Source # prettyList :: [BuiltinData] -> Doc ann Source # | |
Pretty CovLoc | |
Pretty CoverageAnnotation | |
Defined in PlutusTx.Coverage pretty :: CoverageAnnotation -> Doc ann Source # prettyList :: [CoverageAnnotation] -> Doc ann Source # | |
Pretty CoverageMetadata | |
Defined in PlutusTx.Coverage pretty :: CoverageMetadata -> Doc ann Source # prettyList :: [CoverageMetadata] -> Doc ann Source # | |
Pretty CoverageReport | |
Defined in PlutusTx.Coverage pretty :: CoverageReport -> Doc ann Source # prettyList :: [CoverageReport] -> Doc ann Source # | |
Pretty Metadata | |
Pretty Rational | |
Pretty Text | Automatically converts all newlines to
Note that
Manually use |
Pretty Text | (lazy |
Pretty Integer |
|
Pretty Natural | |
Pretty () |
The argument is not used:
|
Defined in Prettyprinter.Internal | |
Pretty Bool |
|
Pretty Char | Instead of
|
Pretty Double |
|
Pretty Float |
|
Pretty Int |
|
Pretty Word | |
Pretty a => Pretty (Identity a) |
|
Pretty a => Pretty (NonEmpty a) | |
Pretty (ShelleyBasedEra era) | |
Defined in Cardano.Api.Eon.ShelleyBasedEra pretty :: ShelleyBasedEra era -> Doc ann Source # prettyList :: [ShelleyBasedEra era] -> Doc ann Source # | |
Pretty (CardanoEra era) | |
Defined in Cardano.Api.Eras.Core pretty :: CardanoEra era -> Doc ann Source # prettyList :: [CardanoEra era] -> Doc ann Source # | |
Pretty (DeprecatedEra era) | |
Defined in Cardano.Api.Experimental.Eras pretty :: DeprecatedEra era -> Doc ann Source # prettyList :: [DeprecatedEra era] -> Doc ann Source # | |
Pretty (Era era) | |
Pretty (Some Era) | |
Show a => Pretty (ShowOf a) | |
Pretty (PlutusScriptContext l) => Pretty (LegacyPlutusArgs l) | |
Defined in Cardano.Ledger.Plutus.Language pretty :: LegacyPlutusArgs l -> Doc ann Source # prettyList :: [LegacyPlutusArgs l] -> Doc ann Source # | |
Pretty (PlutusArgs 'PlutusV1) | |
Defined in Cardano.Ledger.Plutus.Language pretty :: PlutusArgs 'PlutusV1 -> Doc ann Source # prettyList :: [PlutusArgs 'PlutusV1] -> Doc ann Source # | |
Pretty (PlutusArgs 'PlutusV2) | |
Defined in Cardano.Ledger.Plutus.Language pretty :: PlutusArgs 'PlutusV2 -> Doc ann Source # prettyList :: [PlutusArgs 'PlutusV2] -> Doc ann Source # | |
Pretty (PlutusArgs 'PlutusV3) | |
Defined in Cardano.Ledger.Plutus.Language pretty :: PlutusArgs 'PlutusV3 -> Doc ann Source # prettyList :: [PlutusArgs 'PlutusV3] -> Doc ann Source # | |
Pretty (BuiltinSemanticsVariant DefaultFun) | |
Defined in PlutusCore.Default.Builtins pretty :: BuiltinSemanticsVariant DefaultFun -> Doc ann Source # prettyList :: [BuiltinSemanticsVariant DefaultFun] -> Doc ann Source # | |
Pretty a => Pretty (Normalized a) | |
Defined in PlutusCore.Core.Type pretty :: Normalized a -> Doc ann Source # prettyList :: [Normalized a] -> Doc ann Source # | |
Pretty (DefaultUni a) | This always pretty-prints parens around type applications (e.g. |
Defined in PlutusCore.Default.Universe pretty :: DefaultUni a -> Doc ann Source # prettyList :: [DefaultUni a] -> Doc ann Source # | |
Pretty ann => Pretty (UniqueError ann) | |
Defined in PlutusCore.Error pretty :: UniqueError ann -> Doc ann0 Source # prettyList :: [UniqueError ann] -> Doc ann0 Source # | |
PrettyClassic a => Pretty (EvaluationResult a) | |
Defined in PlutusCore.Evaluation.Result pretty :: EvaluationResult a -> Doc ann Source # prettyList :: [EvaluationResult a] -> Doc ann Source # | |
PrettyReadable a => Pretty (AsReadable a) | |
Defined in PlutusCore.Pretty.Readable pretty :: AsReadable a -> Doc ann Source # prettyList :: [AsReadable a] -> Doc ann Source # | |
Pretty (SomeTypeIn DefaultUni) | |
Defined in PlutusCore.Default.Universe pretty :: SomeTypeIn DefaultUni -> Doc ann Source # prettyList :: [SomeTypeIn DefaultUni] -> Doc ann Source # | |
(Show fun, Ord fun) => Pretty (CekExTally fun) | |
Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode pretty :: CekExTally fun -> Doc ann Source # prettyList :: [CekExTally fun] -> Doc ann Source # | |
(Show fun, Ord fun) => Pretty (TallyingSt fun) | |
Defined in UntypedPlutusCore.Evaluation.Machine.Cek.ExBudgetMode pretty :: TallyingSt fun -> Doc ann Source # prettyList :: [TallyingSt fun] -> Doc ann Source # | |
Show fun => Pretty (ExBudgetCategory fun) | |
Defined in UntypedPlutusCore.Evaluation.Machine.Cek.Internal pretty :: ExBudgetCategory fun -> Doc ann Source # prettyList :: [ExBudgetCategory fun] -> Doc ann Source # | |
Pretty a => Pretty (Provenance a) | |
Defined in PlutusIR.Compiler.Provenance | |
Pretty a => Pretty (Extended a) | |
Pretty a => Pretty (Interval a) | |
Pretty a => Pretty (LowerBound a) | |
Defined in PlutusLedgerApi.V1.Interval pretty :: LowerBound a -> Doc ann Source # prettyList :: [LowerBound a] -> Doc ann Source # | |
Pretty a => Pretty (UpperBound a) | |
Defined in PlutusLedgerApi.V1.Interval pretty :: UpperBound a -> Doc ann Source # prettyList :: [UpperBound a] -> Doc ann Source # | |
Show a => Pretty (PrettyShow a) | |
Defined in Prettyprinter.Extras | |
Pretty a => Pretty (Maybe a) | Ignore
|
Pretty a => Pretty [a] |
|
Defined in Prettyprinter.Internal | |
(Pretty operational, Pretty structural) => Pretty (EvaluationError operational structural) | |
Defined in PlutusCore.Evaluation.Error pretty :: EvaluationError operational structural -> Doc ann Source # prettyList :: [EvaluationError operational structural] -> Doc ann Source # | |
(Pretty err, Pretty cause) => Pretty (ErrorWithCause err cause) | |
Defined in PlutusCore.Evaluation.ErrorWithCause pretty :: ErrorWithCause err cause -> Doc ann Source # prettyList :: [ErrorWithCause err cause] -> Doc ann Source # | |
(Foldable f, Pretty a) => Pretty (PrettyFoldable f a) | |
Defined in Prettyprinter.Extras | |
(Pretty k, Pretty v) => Pretty (Map k v) | |
DefaultPrettyBy config a => Pretty (AttachDefaultPrettyConfig config a) | |
Defined in Text.PrettyBy.Internal pretty :: AttachDefaultPrettyConfig config a -> Doc ann Source # prettyList :: [AttachDefaultPrettyConfig config a] -> Doc ann Source # | |
PrettyBy config a => Pretty (AttachPrettyConfig config a) |
|
Defined in Text.PrettyBy.Internal pretty :: AttachPrettyConfig config a -> Doc ann Source # prettyList :: [AttachPrettyConfig config a] -> Doc ann Source # | |
(Pretty a1, Pretty a2) => Pretty (a1, a2) |
|
Defined in Prettyprinter.Internal | |
Pretty a => Pretty (Const a b) | |
(PrettyUni uni, Pretty fun, Pretty ann) => Pretty (Error uni fun ann) | |
Defined in PlutusIR.Error | |
(Pretty a1, Pretty a2, Pretty a3) => Pretty (a1, a2, a3) |
|
Defined in Prettyprinter.Internal |