ChasingBottoms-1.3.1.15: For testing partial and infinite values.

Copyright | (c) Nils Anders Danielsson 2004-2022 2024
License | See the file LICENCE.
Maintainer | http://www.cse.chalmers.se/~nad/
Stability | experimental
Portability | non-portable (GHC-specific)
Safe Haskell | Safe-Inferred
Language | Haskell2010

Test.ChasingBottoms.ApproxShow

Description

Functions for converting arbitrary (non-function, partial, possibly infinite) values into strings.

Synopsis

- type Prec = Int
- class ApproxShow a where
  - approxShowsPrec :: Nat -> Prec -> a -> ShowS
  - approxShows :: Nat -> a -> ShowS
  - approxShow :: Nat -> a -> String

# Documentation

type Prec = Int Source #

Precedence level.

class ApproxShow a where Source #

Minimal complete definition

approxShowsPrec

Methods

approxShowsPrec :: Nat -> Prec -> a -> ShowS Source #

The `Data` instance of `ApproxShow` makes sure that ``approxShowsPrec` n` behaves (more or less) like the derived version of `showsPrec`, with the following differences:

- After `n` levels of descent into a term the output is replaced by `"_"`.
- All detectable occurences of bottoms are replaced by `"_|_"`.
- Non-bottom functions are displayed as `"<function /= _|_>"`.

approxShows :: Nat -> a -> ShowS Source #

approxShow :: Nat -> a -> String Source #

#### Instances

Instances details

Data a => ApproxShow a Source # |
Instance details Defined in Test.ChasingBottoms.ApproxShow Methods approxShowsPrec :: Nat -> Prec -> a -> ShowS Source # approxShows :: Nat -> a -> ShowS Source # approxShow :: Nat -> a -> String Source #