Proposal #1464: add dropPrefix to Data.List
igloo at earth.li
Tue Jun 26 21:26:05 EDT 2007
I seem to have a copy of this function in everything I write sooner or
later, so I'd like to propose its addition to Data.List. It strips a
prefix from a list and, if successful, returns the tail. I often use it
with pattern guards:
foo :: String -> IO ()
| Just y <- dropPrefix "foo=" = putStrLn ("foo is " ++ show y)
foo _ = putStrLn "Unknown"
but you can of course achieve the same by using case etc.
The definition is:
dropPrefix :: Eq a => [a] -> [a] -> Maybe [a]
dropPrefix  ys = Just ys
dropPrefix (x:xs) (y:ys)
| x == y = dropPrefix xs ys
dropPrefix _ _ = Nothing
Let's try 11 July for a discussion deadline.
More information about the Libraries