packages feed

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))