data-index-0.1.0.0: Extending the concept of indices for lists and other containers

Safe HaskellSafe
LanguageHaskell2010

Data.List.Index

Description

Redefined index-related functions for Data.List

Synopsis

Documentation

module Data.Index

(!!) :: [a] -> Index [] Int -> a Source #

>>> [1..7] !! 1
2
>>> [1..7] !! end
7
>>> [1..7] !! (end-2)
5
>>> [1..7] !! mid
4

take :: Index [] Int -> [a] -> [a] Source #

>>> take 10 ['a'..'z']
"abcdefghij"
>>> take (mid - 3) ['a'..'z']
"abcdefghij"

drop :: Index [] Int -> [a] -> [a] Source #

>>> drop 13 ['a'..'z']
"nopqrstuvwxyz"
>>> drop mid ['a'..'z']
"nopqrstuvwxyz"

splitAt :: Index [] Int -> [a] -> ([a], [a]) Source #

>>> splitAt mid "Hello World!"
("Hello ","World!")
>>> splitAt (mid - 1) "Hello World!"
("Hello"," World!")