{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE TypeFamilies #-} module ClassyPrelude.FilePath () where import CorePrelude import ClassyPrelude.Classes import qualified Data.List as List import qualified Filesystem.Path.CurrentOS as FilePath instance CanPack FilePath Char where pack = FilePath.decodeString unpack = FilePath.encodeString instance CanIntersperse FilePath Char where intersperse c = pack . List.intersperse c . unpack instance CanStripPrefix FilePath where stripPrefix = FilePath.stripPrefix isPrefixOf a b = case stripPrefix a b of Nothing -> False Just {} -> True instance CanEmpty FilePath