hsc3-graphs-0.14: hs/L.hs
module L where
import Data.Maybe {- base -}
import Data.List {- base -}
stripSuffix :: Eq a => [a] -> [a] -> Maybe [a]
stripSuffix s l = fmap reverse (stripPrefix (reverse s) (reverse l))
strip_suffix_or_id :: Eq a => [[a]] -> [a] -> [a]
strip_suffix_or_id s l =
case s of
[] -> l
e:s' -> strip_suffix_or_id s' (fromMaybe l (stripSuffix e l))