Safe Haskell | Safe |
---|---|
Language | Haskell98 |
Language.GroteTrap.Range
Contents
Types
A Pos
is a position in between two elements in a list. For example, position 0
marks the beginning of the list, and position length list
marks the end of the list. There are n + 1
valid positions for a list of length n
.
type Range = (Pos, Pos) Source #
A range's positions mark the begin and end of a sublist, respectively.
Something that knows its range as sublist in a larger list. Minimal complete definition: either range
or both begin
and end
.
Methods
Yields the element's range.
Yields the element's begin position.
Yields the element's end position.
Utility functions
distRange :: Range -> Range -> Int Source #
distRange (b1, e1) (b2, e2)
is defined as |b1 - b2| + |e1 - e2|
.
inRange :: Pos -> Range -> Bool Source #
Whether a position falls within a range, including the range's edges.
includes :: Range -> Range -> Bool Source #
Yields whether the second argument completely falls within the first argument.
validRange :: Range -> Bool Source #
A range is valid if its positions are nonnegative and begin < end.