Cabal-syntax-3.10.1.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) #

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

toConstr :: SymbolicPath from to -> Constr #

dataTypeOf :: SymbolicPath from to -> DataType #

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

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

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

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

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

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

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

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

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

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

Generic (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Associated Types

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

Methods

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

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

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 #

show :: SymbolicPath from to -> String #

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

Binary (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

put :: SymbolicPath from to -> Put #

get :: Get (SymbolicPath from to) #

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

NFData (SymbolicPath from to) Source # 
Instance details

Defined in Distribution.Utils.Path

Methods

rnf :: SymbolicPath from to -> () #

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.10.1.0-CzFvy6Vr4NPEeFMO9pQqoE" '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 #

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

toConstr :: PackageDir -> Constr #

dataTypeOf :: PackageDir -> DataType #

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

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

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

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

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

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

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

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

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

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

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 #

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

toConstr :: SourceDir -> Constr #

dataTypeOf :: SourceDir -> DataType #

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

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

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

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

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

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

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

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

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

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

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 #

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

toConstr :: LicenseFile -> Constr #

dataTypeOf :: LicenseFile -> DataType #

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

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

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

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

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

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

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

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

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

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

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