data-list-sequences-0.1: Utilities for working with sequences within lists.

Data.List.Sequences

Description

Find sequences within lists.

Synopsis

Documentation

splitSeq :: (a -> a -> Bool) -> [a] -> [[a]]Source

Find sequences within a list and return them as new list of sequences. The first argument is a function that takes two subsequent elements of the given list (second argument) and returns whether the second element follows the first one in a sequence.

 splitSeq ((==) . succ) [1,2,3,5,6,7]
 [[1,2,3],[5,6,7]]

spanSeq :: (a -> a -> Bool) -> [a] -> ([a], [a])Source

Works pretty much like splitSeq, except that a tuple with only the sequence starting at the first element and the rest of the list is returned.

 spanSeq ((==) . succ) "abcxyz123"
 ("abc","xyz123")