22 lines
454 B
Haskell
22 lines
454 B
Haskell
import Data.List (transpose, intercalate)
|
|
import Data.List.Split (splitOn)
|
|
import Data.Bool (bool)
|
|
|
|
cdp :: [String] -> String
|
|
cdp =
|
|
flip
|
|
(bool .
|
|
intercalate "/" .
|
|
fmap head .
|
|
takeWhile ((all . (==) . head) <*> tail) . transpose . fmap (splitOn "/"))
|
|
([]) <*>
|
|
null
|
|
|
|
main :: IO ()
|
|
main =
|
|
(putStrLn . cdp)
|
|
[ "/home/user1/tmp/coverage/test"
|
|
, "/home/user1/tmp/covert/operator"
|
|
, "/home/user1/tmp/coven/members"
|
|
]
|