Haskell functions to find sequences in lists.
- Haskell 100%
| Data/List | ||
| .gitignore | ||
| data-list-sequences.cabal | ||
| LICENSE | ||
| README.md | ||
| Setup.hs | ||
Data.List.Sequences
Utilities for finding sequences within lists.
Description
Find sequences within lists.
Synopsis
splitSeq :: (a -> a -> Bool) -> [a] -> [[a]]spanSeq :: (a -> a -> Bool) -> [a] -> ([a], [a])
Documentation
splitSeq
splitSeq :: (a -> a -> Bool) -> [a] -> [[a]]
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
spanSeq :: (a -> a -> Bool) -> [a] -> ([a], [a])
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")