module Autolib.Util.Factor where -- -- $Id$ import Data.List ( tails, isPrefixOf ) factor :: Eq a => [a] -> [a] -> Bool factor :: forall a. Eq a => [a] -> [a] -> Bool factor [a] x [a] y = [Bool] -> Bool forall (t :: * -> *). Foldable t => t Bool -> Bool or ([Bool] -> Bool) -> [Bool] -> Bool forall a b. (a -> b) -> a -> b $ do z <- [a] -> [[a]] forall a. [a] -> [[a]] tails [a] y return $ isPrefixOf x z