Distribution.Utils.Path

Cabal-3.5.0.0: A framework for packaging Haskell software

Safe Haskell | Safe-Inferred
Language | Haskell2010

Distribution.Utils.Path

Contents

- Symbolic path
- Path ends

Synopsis

- data SymbolicPath from to
- getSymbolicPath :: SymbolicPath from to -> FilePath
- sameDirectory :: (IsDir from, IsDir to) => SymbolicPath from to
- unsafeMakeSymbolicPath :: FilePath -> SymbolicPath from to
- data PackageDir
- data SourceDir
- data LicenseFile
- class IsDir dir

# 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

Parsec (SymbolicPath from to) # |
Instance details Defined in Distribution.Utils.Path Methods parsec :: CabalParsing m => m (SymbolicPath from to) Source #
Pretty (SymbolicPath from to) # |
Instance details Defined in Distribution.Utils.Path Methods pretty :: SymbolicPath from to -> Doc Source # prettyVersioned :: CabalSpecVersion -> SymbolicPath from to -> Doc Source #
(Typeable from, Typeable to) => Structured (SymbolicPath from to) # |
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) # |
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) # |
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) # |
Instance details Defined in Distribution.Utils.Path Methods readsPrec :: Int -> ReadS (SymbolicPath from to) Source # readList :: ReadS [SymbolicPath from to] Source # readPrec :: ReadPrec (SymbolicPath from to) Source # readListPrec :: ReadPrec [SymbolicPath from to] Source #
Show (SymbolicPath from to) # |
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) # |
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) # |
Instance details Defined in Distribution.Utils.Path Methods rnf :: SymbolicPath from to -> () Source #
Eq (SymbolicPath from to) # |
Instance details Defined in Distribution.Utils.Path Methods (==) :: SymbolicPath from to -> SymbolicPath from to -> Bool # (/=) :: SymbolicPath from to -> SymbolicPath from to -> Bool #
type Rep (SymbolicPath from to) # |
Instance details Defined in Distribution.Utils.Path type Rep (SymbolicPath from to) = D1 ('MetaData "SymbolicPath" "Distribution.Utils.Path" "Cabal-3.5.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 # |
Instance details Defined in Distribution.Utils.Path
Data PackageDir # |
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 #

data SourceDir Source #

#### Instances

Instances details

IsDir SourceDir # |
Instance details Defined in Distribution.Utils.Path
Data SourceDir # |
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 # |
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 #

class IsDir dir Source #

Class telling that index is for directories.

#### Instances

Instances details

IsDir PackageDir # |
Instance details Defined in Distribution.Utils.Path
IsDir SourceDir # |
Instance details Defined in Distribution.Utils.Path