Cabal-syntax-3.9.0.0: A library for working with .cabal files
Safe HaskellSafe-Inferred
LanguageHaskell2010

Distribution.Utils.Path

Synopsis

Symbolic path

data SymbolicPath from to Source #

Symbolic paths.

These paths are system independent and relative. They are *symbolic* which means we cannot perform any IO until we interpret them.

Instances

Instances details
Newtype [SymbolicPath PackageDir LicenseFile] CompatLicenseFile Source # 
Instance details

Defined in Distribution.PackageDescription.FieldGrammar

Parsec (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

parsec :: CabalParsing m => m (SymbolicPath from to) Source #

Pretty (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

(Typeable from, Typeable to) => Structured (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

structure :: Proxy (SymbolicPath from to) -> Structure Source #

structureHash' :: Tagged (SymbolicPath from to) MD5

(Data from, Data to) => Data (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SymbolicPath from to -> c (SymbolicPath from to) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (SymbolicPath from to) Source #

toConstr :: SymbolicPath from to -> Constr Source #

dataTypeOf :: SymbolicPath from to -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (SymbolicPath from to)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (SymbolicPath from to)) Source #

gmapT :: (forall b. Data b => b -> b) -> SymbolicPath from to -> SymbolicPath from to Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SymbolicPath from to -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SymbolicPath from to -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> SymbolicPath from to -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SymbolicPath from to -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SymbolicPath from to -> m (SymbolicPath from to) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SymbolicPath from to -> m (SymbolicPath from to) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SymbolicPath from to -> m (SymbolicPath from to) Source #

Generic (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Associated Types

type Rep (SymbolicPath from to) :: Type -> Type Source #

Methods

from :: SymbolicPath from to -> Rep (SymbolicPath from to) x Source #

to :: Rep (SymbolicPath from to) x -> SymbolicPath from to Source #

Read (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Show (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

showsPrec :: Int -> SymbolicPath from to -> ShowS Source #

show :: SymbolicPath from to -> String Source #

showList :: [SymbolicPath from to] -> ShowS Source #

Binary (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

put :: SymbolicPath from to -> Put Source #

get :: Get (SymbolicPath from to) Source #

putList :: [SymbolicPath from to] -> Put Source #

NFData (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

rnf :: SymbolicPath from to -> () Source #

Eq (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

(==) :: SymbolicPath from to -> SymbolicPath from to -> Bool #

(/=) :: SymbolicPath from to -> SymbolicPath from to -> Bool #

Ord (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

compare :: SymbolicPath from to -> SymbolicPath from to -> Ordering #

(<) :: SymbolicPath from to -> SymbolicPath from to -> Bool #

(<=) :: SymbolicPath from to -> SymbolicPath from to -> Bool #

(>) :: SymbolicPath from to -> SymbolicPath from to -> Bool #

(>=) :: SymbolicPath from to -> SymbolicPath from to -> Bool #

max :: SymbolicPath from to -> SymbolicPath from to -> SymbolicPath from to #

min :: SymbolicPath from to -> SymbolicPath from to -> SymbolicPath from to #

type Rep (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

type Rep (SymbolicPath from to) = D1 ('MetaData "SymbolicPath" "Distribution.Utils.Path" "Cabal-syntax-3.9.0.0" 'True) (C1 ('MetaCons "SymbolicPath" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 FilePath)))

getSymbolicPath :: SymbolicPath from to -> FilePath Source #

Extract underlying FilePath.

Avoid using this in new code.

sameDirectory :: (IsDir from, IsDir to) => SymbolicPath from to Source #

unsafeMakeSymbolicPath :: FilePath -> SymbolicPath from to Source #

Make SymbolicPath without performing any checks.

Path ends

data PackageDir Source #

Instances

Instances details
IsDir PackageDir Source # 
Instance details

Defined in Distribution.Utils.Path

Data PackageDir Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PackageDir -> c PackageDir Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PackageDir Source #

toConstr :: PackageDir -> Constr Source #

dataTypeOf :: PackageDir -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PackageDir) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PackageDir) Source #

gmapT :: (forall b. Data b => b -> b) -> PackageDir -> PackageDir Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PackageDir -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PackageDir -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PackageDir -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PackageDir -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PackageDir -> m PackageDir Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageDir -> m PackageDir Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PackageDir -> m PackageDir Source #

Newtype [SymbolicPath PackageDir LicenseFile] CompatLicenseFile Source # 
Instance details

Defined in Distribution.PackageDescription.FieldGrammar

data SourceDir Source #

Instances

Instances details
IsDir SourceDir Source # 
Instance details

Defined in Distribution.Utils.Path

Data SourceDir Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> SourceDir -> c SourceDir Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c SourceDir Source #

toConstr :: SourceDir -> Constr Source #

dataTypeOf :: SourceDir -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c SourceDir) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c SourceDir) Source #

gmapT :: (forall b. Data b => b -> b) -> SourceDir -> SourceDir Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> SourceDir -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> SourceDir -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> SourceDir -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> SourceDir -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> SourceDir -> m SourceDir Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceDir -> m SourceDir Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> SourceDir -> m SourceDir Source #

data LicenseFile Source #

Instances

Instances details
Data LicenseFile Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> LicenseFile -> c LicenseFile Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c LicenseFile Source #

toConstr :: LicenseFile -> Constr Source #

dataTypeOf :: LicenseFile -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c LicenseFile) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c LicenseFile) Source #

gmapT :: (forall b. Data b => b -> b) -> LicenseFile -> LicenseFile Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> LicenseFile -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> LicenseFile -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> LicenseFile -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> LicenseFile -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> LicenseFile -> m LicenseFile Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseFile -> m LicenseFile Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> LicenseFile -> m LicenseFile Source #

Newtype [SymbolicPath PackageDir LicenseFile] CompatLicenseFile Source # 
Instance details

Defined in Distribution.PackageDescription.FieldGrammar

class IsDir dir Source #

Class telling that index is for directories.

Instances

Instances details
IsDir PackageDir Source # 
Instance details

Defined in Distribution.Utils.Path

IsDir SourceDir Source # 
Instance details

Defined in Distribution.Utils.Path