data Prec : Type The precedence of an Idris operator or syntactic context.
Totality: total
Visibility: public export
Constructors:
Open : Prec Equal : Prec Dollar : Prec Backtick : Prec User : Nat -> Prec PrefixMinus : Prec App : Prec
Hints:
Eq Prec Ord Prec
precCon : Prec -> Integer Gives the constructor index of the Prec as a helper for writing
implementations.
Totality: total
Visibility: public exportinterface Show : Type -> Type Things that have a canonical `String` representation.
A minimal implementation includes either `show` or `showPrec`.
Parameters: ty
Constructor: MkShow
Methods:
show : ty -> String Convert a value to its `String` representation.
@ x the value to convert
showPrec : Prec -> ty -> String Convert a value to its `String` representation in a certain precedence
context.
A value should produce parentheses around itself if and only if the given
precedence context is greater than or equal to the precedence of the
outermost operation represented in the produced `String`. *This is
different from Haskell*, which requires it to be strictly greater. `Open`
should thus always produce *no* outermost parens, `App` should always
produce outermost parens except on atomic values and those that provide
their own bracketing, like `Pair` and `List`.
@ d the precedence context.
@ x the value to convert
Implementations:
Show Int Show Integer Show Bits8 Show Bits16 Show Bits32 Show Bits64 Show Int8 Show Int16 Show Int32 Show Int64 Show Double Show Char Show String Show Nat Show Bool Show Void Show () (Show a, Show b) => Show (a, b) (Show a, Show (p y)) => Show (DPair a p) Show a => Show (List a) Show a => Show (Maybe a) (Show a, Show b) => Show (Either a b) Show Ordering
show : Show ty => ty -> String Convert a value to its `String` representation.
@ x the value to convert
Totality: total
Visibility: public exportshowPrec : Show ty => Prec -> ty -> String Convert a value to its `String` representation in a certain precedence
context.
A value should produce parentheses around itself if and only if the given
precedence context is greater than or equal to the precedence of the
outermost operation represented in the produced `String`. *This is
different from Haskell*, which requires it to be strictly greater. `Open`
should thus always produce *no* outermost parens, `App` should always
produce outermost parens except on atomic values and those that provide
their own bracketing, like `Pair` and `List`.
@ d the precedence context.
@ x the value to convert
Totality: total
Visibility: public exportshowParens : Bool -> String -> String Surround a `String` with parentheses depending on a condition.
@ b whether to add parentheses
Totality: total
Visibility: exportshowCon : Prec -> String -> String -> String A helper for the common case of showing a non-infix constructor with at
least one argument, for use with `showArg`.
Apply `showCon` to the precedence context, the constructor name, and the
args shown with `showArg` and concatenated. Example:
```idris example
data Ann a = MkAnn String a
Show a => Show (Ann a) where
showPrec d (MkAnn s x) = showCon d "MkAnn" $ showArg s ++ showArg x
```
Totality: total
Visibility: exportshowArg : Show a => a -> String A helper for the common case of showing a non-infix constructor with at
least one argument, for use with `showCon`.
This adds a space to the front so the results can be directly concatenated.
See `showCon` for details and an example.
Totality: total
Visibility: export