Copyright | (c) 2020 berberman |
---|---|
License | MIT |
Maintainer | berberman <1793913507@qq.com> |
Stability | experimental |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Miscellaneous functions used crossing modules.
Synopsis
- getPkgName :: PackageDescription -> PackageName
- getPkgName' :: GenericPackageDescription -> PackageName
- getPkgVersion :: PackageDescription -> Version
- dependencyTypeToKind :: DependencyType -> DependencyKind
- unExe :: ExeDependency -> PackageName
- unExeV :: ExeDependency -> (PackageName, VersionRange)
- unDepV :: Dependency -> (PackageName, VersionRange)
- getUrl :: PackageDescription -> String
- getTwo :: Getting b s b -> s -> s -> (b, b)
- buildDependsIfBuild :: BuildInfo -> [Dependency]
- buildToolDependsIfBuild :: BuildInfo -> [ExeDependency]
- traceCallStack :: (HasCallStack, MemberWithError Trace r) => Sem r ()
- trace' :: MemberWithError Trace r => String -> Sem r ()
Documentation
getPkgName :: PackageDescription -> PackageName Source #
Extract the package name from PackageDescription
.
getPkgName' :: GenericPackageDescription -> PackageName Source #
Extract the package name from GenericPackageDescription
.
getPkgVersion :: PackageDescription -> Version Source #
Extract the package version from PackageDescription
.
dependencyTypeToKind :: DependencyType -> DependencyKind Source #
Map DependencyType
with its data constructor tag DependencyKind
.
unExe :: ExeDependency -> PackageName Source #
Extract the package name from a ExeDependency
.
unExeV :: ExeDependency -> (PackageName, VersionRange) Source #
Extract the package name and the version range from a ExeDependency
.
unDepV :: Dependency -> (PackageName, VersionRange) Source #
Extract the PackageName
and VersionRange
of a Dependency
.
getUrl :: PackageDescription -> String Source #
Extract the url from PackageDescription
.
It tries homepage
, the head of sourceRepos
, and finally fallback into hackage website.
getTwo :: Getting b s b -> s -> s -> (b, b) Source #
Apply a Getting
to two values respectively, and get the result as a pair.
buildDependsIfBuild :: BuildInfo -> [Dependency] Source #
Same as targetBuildDepends
, but check if this is buildable
.
buildToolDependsIfBuild :: BuildInfo -> [ExeDependency] Source #
Same as buildToolDepends
, but check if this is buildable
.
traceCallStack :: (HasCallStack, MemberWithError Trace r) => Sem r () Source #
Trace CallStack
.