-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A build tool for ATS -- -- A collection of scripts to simplify building ATS projects. @package ats-pkg @version 3.2.4.2 module Distribution.ATS -- | This uses the users hooks as is simpleUserHooks, modified to -- build the ATS library. cabalHooks :: UserHooks -- | Use this in place of defaultMain for a simple build. atsPolyglotBuild :: IO () module Language.ATS.Package -- | Build in current directory or indicated directory buildAll :: Int -> Maybe String -> Maybe String -> Maybe FilePath -> IO () check :: Maybe String -> Maybe FilePath -> IO Bool mkPkg :: Maybe String -> Bool -> Bool -> Bool -> [IO ()] -> [String] -> Maybe String -> Int -> IO () cleanAll :: IO () buildHelper :: Bool -> ATSDependency -> IO () displayList :: String -> IO () atspkgVersion :: Version -- | Make a tarball from a directory containing the compiler. packageCompiler :: FilePath -> IO () newtype Version Version :: [Natural] -> Version -- | Data type associated with atspkg.dhall file. data Pkg Pkg :: [Bin] -> [Bin] -> [Lib] -> Maybe Text -> Maybe Text -> Version -> Version -> [LibDep] -> [LibDep] -> [LibDep] -> Text -> [Text] -> [Text] -> [Src] -> Bool -> Solver -> Maybe Debian -> Bool -> Pkg -- | List of binaries to be built [$sel:bin:Pkg] :: Pkg -> [Bin] -- | List of test suites [$sel:test:Pkg] :: Pkg -> [Bin] -- | List of libraries to be built [$sel:libraries:Pkg] :: Pkg -> [Lib] -- | Optional (markdown) manpages to be converted using pandoc. [$sel:man:Pkg] :: Pkg -> Maybe Text -- | Optional compleat completions to be installed alongside -- package. [$sel:completions:Pkg] :: Pkg -> Maybe Text -- | Library version [$sel:version:Pkg] :: Pkg -> Version -- | Compiler version [$sel:compiler:Pkg] :: Pkg -> Version -- | List of library dependencies [$sel:dependencies:Pkg] :: Pkg -> [LibDep] -- | List of C library dependencies [$sel:clib:Pkg] :: Pkg -> [LibDep] -- | List of ATS library dependencies [$sel:buildDeps:Pkg] :: Pkg -> [LibDep] -- | The C compiler we should use [$sel:ccompiler:Pkg] :: Pkg -> Text -- | List of flags to pass to the C compiler [$sel:cflags:Pkg] :: Pkg -> [Text] -- | List of flags to pass to patsopt. [$sel:atsFlags:Pkg] :: Pkg -> [Text] -- | ATS source to be compile to C. [$sel:atsSource:Pkg] :: Pkg -> [Src] -- | Don't link statically, instead, use libraries installed by -- atspkg. [$sel:dynLink:Pkg] :: Pkg -> Bool -- | Solver to use. [$sel:extSolve:Pkg] :: Pkg -> Solver -- | Optional specificiation as a debian package. [$sel:debPkg:Pkg] :: Pkg -> Maybe Debian -- | Whether to link/build atslib. [$sel:atsLib:Pkg] :: Pkg -> Bool data Bin Bin :: Text -> Text -> [Text] -> [ForeignCabal] -> [TargetPair] -> Bool -> [Text] -> Bin -- | Source file (should end with .dats) [$sel:src:Bin] :: Bin -> Text -- | Binary to be built [$sel:target:Bin] :: Bin -> Text -- | Libraries to link against (e.g. [ "pthread" ]) [$sel:libs:Bin] :: Bin -> [Text] -- | Haskell .cabal files associated with the final library we -- want to make [$sel:hsDeps:Bin] :: Bin -> [ForeignCabal] -- | List of sources and targets for hs2ats [$sel:hs2ats:Bin] :: Bin -> [TargetPair] -- | Whether to use the garbage collector [$sel:gcBin:Bin] :: Bin -> Bool -- | Extra source files the build depends on [$sel:extras:Bin] :: Bin -> [Text] data Lib Lib :: Text -> [Text] -> Text -> [Text] -> [Text] -> [ForeignCabal] -> [(Text, Text)] -> [TargetPair] -> [Text] -> Bool -> Lib -- | Name of library being provided [$sel:name:Lib] :: Lib -> Text -- | Source files (should end with .dats) to be compiled to object -- files [$sel:src:Lib] :: Lib -> [Text] [$sel:libTarget:Lib] :: Lib -> Text -- | Libraries to link against (e.g. [ "pthread" ]) [$sel:libs:Lib] :: Lib -> [Text] -- | Include files to be installed with the library [$sel:includes:Lib] :: Lib -> [Text] -- | Haskell .cabal files associated with object files [$sel:hsDeps:Lib] :: Lib -> [ForeignCabal] -- | Generate link files. [$sel:links:Lib] :: Lib -> [(Text, Text)] -- | Sources and targets for hs2ats [$sel:hs2ats:Lib] :: Lib -> [TargetPair] -- | Other source files the build depends on [$sel:extras:Lib] :: Lib -> [Text] -- | Whether to make a static library [$sel:static:Lib] :: Lib -> Bool data Src Src :: Text -> Text -> [TargetPair] -> [Text] -> Src [$sel:atsSrc:Src] :: Src -> Text [$sel:cTarget:Src] :: Src -> Text [$sel:atsGen:Src] :: Src -> [TargetPair] [$sel:extras:Src] :: Src -> [Text] data ATSConstraint ATSConstraint :: Maybe Version -> Maybe Version -> ATSConstraint [$sel:lower:ATSConstraint] :: ATSConstraint -> Maybe Version [$sel:upper:ATSConstraint] :: ATSConstraint -> Maybe Version -- | Type for a dependency data ATSDependency ATSDependency :: Text -> Text -> Text -> Maybe Text -> Version -> [LibDep] -> [LibDep] -> [LibDep] -> [Text] -> ATSDependency -- | Library name, e.g. [$sel:libName:ATSDependency] :: ATSDependency -> Text -- | Directory we should unpack to [$sel:dir:ATSDependency] :: ATSDependency -> Text -- | Url pointing to tarball [$sel:url:ATSDependency] :: ATSDependency -> Text -- | Package description [$sel:description:ATSDependency] :: ATSDependency -> Maybe Text [$sel:libVersion:ATSDependency] :: ATSDependency -> Version -- | Dependencies to be unpacked [$sel:libDeps:ATSDependency] :: ATSDependency -> [LibDep] -- | Dependencies to be built [$sel:libBldDeps:ATSDependency] :: ATSDependency -> [LibDep] -- | C dependencies to be built [$sel:libCDeps:ATSDependency] :: ATSDependency -> [LibDep] -- | Optional build script for C library [$sel:script:ATSDependency] :: ATSDependency -> [Text] -- | This is just a tuple, except I can figure out how to use it with -- Dhall. data TargetPair TargetPair :: Text -> Text -> Bool -> TargetPair [$sel:hs:TargetPair] :: TargetPair -> Text [$sel:ats:TargetPair] :: TargetPair -> Text [$sel:cpphs:TargetPair] :: TargetPair -> Bool -- | 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. data ForeignCabal ForeignCabal :: Maybe Text -> Text -> Text -> ForeignCabal -- | cabal.project file to track [projectFile] :: ForeignCabal -> Maybe Text -- | .cabal file associated with the library [cabalFile] :: ForeignCabal -> Text -- | Object file to be generated [objectFile] :: ForeignCabal -> Text newtype ATSPackageSet ATSPackageSet :: [ATSDependency] -> ATSPackageSet [_atsPkgSet] :: ATSPackageSet -> [ATSDependency] type LibDep = (Text, ATSConstraint) -- | You likely want $sel:libDeps:ATSDependency or -- $sel:libBldDeps:ATSDependency type DepSelector = ATSDependency -> [LibDep] data PackageError Unrecognized :: String -> PackageError DepErr :: ResolveError -> PackageError data Debian Debian :: Text -> Version -> Text -> Text -> Text -> Maybe Text -> [Text] -> [Text] -> [Text] -> Debian [package] :: Debian -> Text [version] :: Debian -> Version [maintainer] :: Debian -> Text [description] :: Debian -> Text [target] :: Debian -> Text [manpage] :: Debian -> Maybe Text [binaries] :: Debian -> [Text] [libraries] :: Debian -> [Text] [headers] :: Debian -> [Text] dirLens :: Lens' ATSDependency Text