| Safe Haskell | Safe |
|---|---|
| Language | Haskell98 |
Hedgehog.Internal.Show
- type Name = String
- data Value :: *
- data ValueDiff
- data LineDiff
- mkValue :: Show a => a -> Maybe Value
- showPretty :: Show a => a -> String
- valueDiff :: Value -> Value -> ValueDiff
- lineDiff :: Value -> Value -> [LineDiff]
- toLineDiff :: ValueDiff -> [LineDiff]
- renderValue :: Value -> String
- renderValueDiff :: ValueDiff -> String
- renderLineDiff :: LineDiff -> String
- takeLeft :: ValueDiff -> Value
- takeRight :: ValueDiff -> Value
Documentation
Generic Haskell values.
NaN and Infinity are represented as constructors.
The String in the literals is the text for the literals "as is".
A chain of infix constructors means that they appeared in the input string without parentheses, i.e
1 :+: 2 :*: 3 is represented with InfixCons 1 [(":+:",2),(":*:",3)], whereas
1 :+: (2 :*: 3) is represented with InfixCons 1 [(":+:",InfixCons 2 [(":*:",3)])].
Constructors
| Con Name [Value] | Data constructor |
| InfixCons Value [(Name, Value)] | Infix data constructor chain |
| Rec Name [(Name, Value)] | Record value |
| Tuple [Value] | Tuple |
| List [Value] | List |
| Neg Value | Negated value |
| Ratio Value Value | Rational |
| Integer String | Non-negative integer |
| Float String | Non-negative floating num. |
| Char String | Character |
| String String | String |
showPretty :: Show a => a -> String Source #
toLineDiff :: ValueDiff -> [LineDiff] Source #
renderValue :: Value -> String Source #
renderValueDiff :: ValueDiff -> String Source #
renderLineDiff :: LineDiff -> String Source #