Copyright | (c) 2020 berberman |
---|---|
License | MIT |
Maintainer | berberman <1793913507@qq.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Types and lenses used by the library.
Synopsis
- data ComponentialPackage = ComponentialPackage {}
- data VersionedPackage = VersionedPackage {}
- type Op a = a -> a
- type SomeUusi = [Uusi]
- type Uusi = Action Text (PackageName -> Bool)
- data Action tag p
- = Remove tag p
- | SetVersion tag p VersionRange
- | Replace tag p [VersionedPackage]
- class HasVersionedPackage c where
- class HasComponentialPackage c where
Documentation
data ComponentialPackage Source #
Sub type of VersionedPackage
, with UnqualComponentName
.
Similar to VersionedPackage
, for defining lenses.
See HasComponentialPackage
.
Instances
data VersionedPackage Source #
Super type of three kinds of dependency.
Because cabal doesn't define lenses of Dependency
, ExeDependency
, and LegacyExeDependency
,
here comes out a general data type to define overloaded lenses.
See HasVersionedPackage
.
Instances
Show VersionedPackage Source # | |
Defined in Distribution.Uusi.Types showsPrec :: Int -> VersionedPackage -> ShowS # show :: VersionedPackage -> String # showList :: [VersionedPackage] -> ShowS # | |
HasVersionedPackage VersionedPackage Source # | |
type Uusi = Action Text (PackageName -> Bool) Source #
Common Action
, where the predication p
is PackageName
.
Action acting on cabal dependencies.
Remove tag p | For a dependency x, if P(x) then remove x |
SetVersion tag p VersionRange | For a dependency x, if P(x) then set x's version range |
Replace tag p [VersionedPackage] | For a dependency x, if P(x) then replace x with a set of packages |
class HasVersionedPackage c where Source #