Portability | portable |
---|---|

Stability | experimental |

Maintainer | bos@serpentine.com |

Safe Haskell | Safe-Inferred |

*Warning*: this is an internal module, and does not have a stable
API or name. Functions in this module may not check or enforce
preconditions expected by public modules. Use at your own risk!

Size hints.

- data Size
- exactly :: Size -> Maybe Int
- exactSize :: Int -> Size
- maxSize :: Int -> Size
- betweenSize :: Int -> Int -> Size
- unknownSize :: Size
- smaller :: Size -> Size -> Size
- larger :: Size -> Size -> Size
- upperBound :: Int -> Size -> Int
- lowerBound :: Int -> Size -> Int
- compareSize :: Size -> Int -> Maybe Ordering
- isEmpty :: Size -> Bool

# Documentation

betweenSize :: Int -> Int -> SizeSource

upperBound :: Int -> Size -> IntSource

Compute the maximum size from a size hint, if possible.

lowerBound :: Int -> Size -> IntSource

Compute the maximum size from a size hint, if possible.