The isInfixOf function takes two lists and returns True iff the first list is contained, wholly and intact, anywhere within the second.
Example:
> isInfixOf "Haskell" "I really like Haskell." == True
> isInfixOf "Ial" "I really like Haskell." == False

The isPrefixOf function takes two lists and returns True iff the first list is a prefix of the second.

The isSuffixOf function takes two lists and returns True iff the first list is a suffix of the second. Both lists must be finite.

Equality of two FilePaths. If you call System.Directory.canonicalizePath first this has a much better chance of working. Note that this doesn't follow symlinks or DOSNAM~1s.
> x == y ==> equalFilePath x y
> normalise x == normalise y ==> equalFilePath x y
> Posix: equalFilePath "foo" "foo/"
> Posix: not (equalFilePath "foo" "/foo")
> Posix: not (equalFilePath "foo" "FOO")
> Windows: equalFilePath "foo" "FOO"

Append two lists, i.e.,
> [x1, ..., xm] ++ [y1, ..., yn] == [x1, ..., xm, y1, ..., yn]
> [x1, ..., xm] ++ [y1, ...] == [x1, ..., xm, y1, ...]
If the first list is not finite, the result is the first list.

elem is the list membership predicate, usually written in infix form, e.g., x `elem` xs. For the result to be False, the list must be finite; True, however, results from an element equal to x found at a finite index of a finite or infinite list.

The deleteFirstsBy function takes a predicate and two lists and returns the first list with the first occurrence of each element of the second list removed.

The intersectBy function is the non-overloaded version of intersect.

intercalate xs xss is equivalent to (concat (intersperse xs xss)). It inserts the list xs in between the lists in xss and concatenates the result.

Does the element occur in the structure?

The intersperse function takes an element and a list and `intersperses' that element between the elements of the list. For example,
> intersperse ',' "abcde" == "a,b,c,d,e"