The
isSubsequenceOf function takes two lists and returns
True if all the elements of the first list occur, in order, in
the second. The elements do not have to occur consecutively.
isSubsequenceOf x y is equivalent to
x
`elem` (subsequences y).
Note:
isSubsequenceOf is often used in infix form.
Examples
>>> "GHC" `isSubsequenceOf` "The Glorious Haskell Compiler"
True
>>> ['a','d'..'z'] `isSubsequenceOf` ['a'..'z']
True
>>> [1..10] `isSubsequenceOf` [10,9..0]
False
For the result to be
True, the first list must be finite; for
the result to be
False, the second list must be finite:
>>> [0,2..10] `isSubsequenceOf` [0..]
True
>>> [0..] `isSubsequenceOf` [0,2..10]
False
>>> [0,2..] `isSubsequenceOf` [0..]
* Hangs forever*