| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.ATS.Package
Contents
- pkgToAction :: [IO ()] -> [String] -> Maybe String -> Pkg -> Rules ()
- build :: [String] -> IO ()
- buildAll :: Maybe String -> Maybe FilePath -> IO ()
- check :: Maybe FilePath -> IO Bool
- mkPkg :: Bool -> Bool -> Bool -> [IO ()] -> [String] -> Maybe String -> Int -> IO ()
- cleanAll :: IO ()
- fetchDeps :: CCompiler -> [IO ()] -> [String] -> [String] -> [String] -> FilePath -> SetupScript -> Bool -> IO ()
- buildHelper :: Bool -> ATSDependency -> IO ()
- checkPkg :: FilePath -> Bool -> IO ATSPackageSet
- displayList :: String -> IO ()
- upgradeBin :: String -> String -> IO ()
- atspkgVersion :: Version
- packageCompiler :: FilePath -> IO ()
- atsInstallDirs :: Hashable a => IO (InstallDirs a)
- newtype Version :: * = Version [Integer]
- data Pkg = Pkg {}
- data Bin = Bin {}
- data Lib = Lib {}
- data ATSConstraint = ATSConstraint {}
- data ATSDependency = ATSDependency {}
- data TargetPair = TargetPair {}
- data ForeignCabal :: * = ForeignCabal {
- projectFile :: Maybe Text
- cabalFile :: Text
- objectFile :: Text
- newtype ATSPackageSet = ATSPackageSet {
- _atsPkgSet :: [ATSDependency]
- type LibDep = (Text, ATSConstraint)
- type DepSelector = ATSDependency -> [LibDep]
- data PackageError
- newtype Package a b = Package {
- unPack :: ReaderT (InstallDirs a) IO b
- data InstallDirs a = InstallDirs {}
- class Hashable a => GenericPackage a where
- dirLens :: Lens' ATSDependency Text
Documentation
buildAll :: Maybe String -> Maybe FilePath -> IO () Source #
Build in current directory or indicated directory
Arguments
| :: CCompiler | C compiler to use |
| -> [IO ()] | Setup steps that can be performed concurrently |
| -> [String] | ATS dependencies |
| -> [String] | C Dependencies |
| -> [String] | ATS build dependencies |
| -> FilePath | Path to configuration file |
| -> SetupScript | How to install an ATS library |
| -> Bool | Whether to perform setup anyhow. |
| -> IO () |
buildHelper :: Bool -> ATSDependency -> IO () Source #
Arguments
| :: FilePath | Path to |
| -> Bool | Whether to print detailed error messages. |
| -> IO ATSPackageSet |
Ecosystem functionality
displayList :: String -> IO () Source #
Functions involving the compiler
packageCompiler :: FilePath -> IO () Source #
Functions for generic packaging
atsInstallDirs :: Hashable a => IO (InstallDirs a) Source #
The default set of install dirs for an ATS package.
Types
Data type associated with atspkg.dhall file.
Constructors
| Pkg | |
Fields
| |
Constructors
| Bin | |
Fields
| |
Constructors
| Lib | |
Fields
| |
data ATSConstraint Source #
data ATSDependency Source #
Type for a dependency
Constructors
| ATSDependency | |
Fields
| |
data TargetPair Source #
This is just a tuple, except I can figure out how to use it with Dhall.
Instances
data ForeignCabal :: * #
Data type containing information about Haskell components of a build. Any functions exposed in the object file will be callable in C or ATS code.
Constructors
| ForeignCabal | |
Fields
| |
Instances
newtype ATSPackageSet Source #
Constructors
| ATSPackageSet | |
Fields
| |
Instances
type LibDep = (Text, ATSConstraint) Source #
type DepSelector = ATSDependency -> [LibDep] Source #
You likely want $sel:libDeps:ATSDependency or $sel:libBldDeps:ATSDependency
Generic Packaging
The package monad provides information about the package to be installed, in particular, the directory for installation and the directories for dependencies.
Constructors
| Package | |
Fields
| |
data InstallDirs a Source #
Functions containing installation information about a particular type.
Constructors
| InstallDirs | |
Typeclasses
class Hashable a => GenericPackage a where Source #
Any type implementing GenericPackage can be depended on by other
packages.
Minimal complete definition