term-rewriting-0.1: src/Data/Rewriting/Utils.hs
-- This file is part of the 'term-rewriting' library. It is licensed
-- under an MIT license. See the accompanying 'LICENSE' file for details.
--
-- Authors: Christian Sternagel
module Data.Rewriting.Utils (
dropCommonPrefix,
) where
-- | @dropCommonPrefix xs ys@ removes the common prefix of @xs@ and @ys@ and
-- returns the remaining lists as a pair.
--
-- >>>dropCommonPrefix [1,2,3] [1,2,4,1]
-- ([3], [4,1])
dropCommonPrefix :: Ord a => [a] -> [a] -> ([a], [a])
dropCommonPrefix (x:xs) (y:ys) | x == y = dropCommonPrefix xs ys
dropCommonPrefix xs ys = (xs, ys)