ats-pkg-3.2.4.2: A build tool for ATS

Safe HaskellNone
LanguageHaskell2010

Language.ATS.Package

Contents

Synopsis

Documentation

buildAll :: Int -> Maybe String -> Maybe String -> Maybe FilePath -> IO () Source #

Build in current directory or indicated directory

mkPkg Source #

Arguments

:: Maybe String

Optional argument to atspkg.dhall

-> Bool

Force rebuild

-> Bool

Run linter

-> Bool

Print build profiling information

-> [IO ()]

Setup

-> [String]

Targets

-> Maybe String

Target triple

-> Int

Verbosity

-> IO () 

Ecosystem functionality

Functions involving the compiler

packageCompiler :: FilePath -> IO () Source #

Make a tarball from a directory containing the compiler.

Types

newtype Version #

Constructors

Version [Natural] 
Instances
Eq Version 
Instance details

Defined in Data.Dependency.Type

Methods

(==) :: Version -> Version -> Bool #

(/=) :: Version -> Version -> Bool #

Ord Version 
Instance details

Defined in Data.Dependency.Type

Show Version 
Instance details

Defined in Data.Dependency.Type

Generic Version 
Instance details

Defined in Data.Dependency.Type

Associated Types

type Rep Version :: Type -> Type #

Methods

from :: Version -> Rep Version x #

to :: Rep Version x -> Version #

NFData Version 
Instance details

Defined in Data.Dependency.Type

Methods

rnf :: Version -> () #

Binary Version 
Instance details

Defined in Data.Dependency.Type

Methods

put :: Version -> Put #

get :: Get Version #

putList :: [Version] -> Put #

Pretty Version Source # 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

pretty :: Version -> Doc #

prettyList :: [Version] -> Doc #

Inject Version Source # 
Instance details

Defined in Language.ATS.Package.Type

Interpret Version Source # 
Instance details

Defined in Language.ATS.Package.Debian

type Rep Version 
Instance details

Defined in Data.Dependency.Type

type Rep Version = D1 (MetaData "Version" "Data.Dependency.Type" "dependency-1.2.0.3-9H3FxZM1DwzJhiaHtcPcIS" True) (C1 (MetaCons "Version" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Natural])))

data Pkg Source #

Data type associated with atspkg.dhall file.

Constructors

Pkg 

Fields

Instances
Generic Pkg Source # 
Instance details

Defined in Language.ATS.Package.Type

Associated Types

type Rep Pkg :: Type -> Type #

Methods

from :: Pkg -> Rep Pkg x #

to :: Rep Pkg x -> Pkg #

Binary Pkg Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

put :: Pkg -> Put #

get :: Get Pkg #

putList :: [Pkg] -> Put #

Interpret Pkg Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep Pkg Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep Pkg = D1 (MetaData "Pkg" "Language.ATS.Package.Type" "ats-pkg-3.2.4.2-6Vgxl716ttpDbdLwBn9JSh" False) (C1 (MetaCons "Pkg" PrefixI True) ((((S1 (MetaSel (Just "bin") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Bin]) :*: S1 (MetaSel (Just "test") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Bin])) :*: (S1 (MetaSel (Just "libraries") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Lib]) :*: S1 (MetaSel (Just "man") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)))) :*: ((S1 (MetaSel (Just "completions") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "version") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version)) :*: (S1 (MetaSel (Just "compiler") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Version) :*: (S1 (MetaSel (Just "dependencies") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [LibDep]) :*: S1 (MetaSel (Just "clib") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [LibDep]))))) :*: (((S1 (MetaSel (Just "buildDeps") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [LibDep]) :*: S1 (MetaSel (Just "ccompiler") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)) :*: (S1 (MetaSel (Just "cflags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text]) :*: S1 (MetaSel (Just "atsFlags") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Text]))) :*: ((S1 (MetaSel (Just "atsSource") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [Src]) :*: S1 (MetaSel (Just "dynLink") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)) :*: (S1 (MetaSel (Just "extSolve") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Solver) :*: (S1 (MetaSel (Just "debPkg") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Debian)) :*: S1 (MetaSel (Just "atsLib") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool)))))))

data Bin Source #

Constructors

Bin 

Fields

  • src :: Text

    Source file (should end with .dats)

  • target :: Text

    Binary to be built

  • libs :: [Text]

    Libraries to link against (e.g. [ "pthread" ])

  • hsDeps :: [ForeignCabal]

    Haskell .cabal files associated with the final library we want to make

  • hs2ats :: [TargetPair]

    List of sources and targets for hs2ats

  • gcBin :: Bool

    Whether to use the garbage collector

  • extras :: [Text]

    Extra source files the build depends on

data Lib Source #

Constructors

Lib 

Fields

Instances
Generic Lib Source # 
Instance details

Defined in Language.ATS.Package.Type

Associated Types

type Rep Lib :: Type -> Type #

Methods

from :: Lib -> Rep Lib x #

to :: Rep Lib x -> Lib #

Binary Lib Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

put :: Lib -> Put #

get :: Get Lib #

putList :: [Lib] -> Put #

Interpret Lib Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep Lib Source # 
Instance details

Defined in Language.ATS.Package.Type

data Src Source #

Constructors

Src 

Fields

Instances
Generic Src Source # 
Instance details

Defined in Language.ATS.Package.Type

Associated Types

type Rep Src :: Type -> Type #

Methods

from :: Src -> Rep Src x #

to :: Rep Src x -> Src #

Binary Src Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

put :: Src -> Put #

get :: Get Src #

putList :: [Src] -> Put #

Interpret Src Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep Src Source # 
Instance details

Defined in Language.ATS.Package.Type

data ATSConstraint Source #

Constructors

ATSConstraint 
Instances
Eq ATSConstraint Source # 
Instance details

Defined in Language.ATS.Package.Type

Show ATSConstraint Source # 
Instance details

Defined in Language.ATS.Package.Type

Generic ATSConstraint Source # 
Instance details

Defined in Language.ATS.Package.Type

Associated Types

type Rep ATSConstraint :: Type -> Type #

Binary ATSConstraint Source # 
Instance details

Defined in Language.ATS.Package.Type

Interpret ATSConstraint Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep ATSConstraint Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep ATSConstraint = D1 (MetaData "ATSConstraint" "Language.ATS.Package.Type" "ats-pkg-3.2.4.2-6Vgxl716ttpDbdLwBn9JSh" False) (C1 (MetaCons "ATSConstraint" PrefixI True) (S1 (MetaSel (Just "lower") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Version)) :*: S1 (MetaSel (Just "upper") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Version))))

data ATSDependency Source #

Type for a dependency

Constructors

ATSDependency 

Fields

Instances
Generic ATSDependency Source # 
Instance details

Defined in Language.ATS.Package.Type

Associated Types

type Rep ATSDependency :: Type -> Type #

Binary ATSDependency Source # 
Instance details

Defined in Language.ATS.Package.Type

Pretty ATSDependency Source # 
Instance details

Defined in Language.ATS.Package.PackageSet

Interpret ATSDependency Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep ATSDependency Source # 
Instance details

Defined in Language.ATS.Package.Type

data TargetPair Source #

This is just a tuple, except I can figure out how to use it with Dhall.

Constructors

TargetPair 

Fields

Instances
Generic TargetPair Source # 
Instance details

Defined in Language.ATS.Package.Type

Associated Types

type Rep TargetPair :: Type -> Type #

Binary TargetPair Source # 
Instance details

Defined in Language.ATS.Package.Type

Interpret TargetPair Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep TargetPair Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep TargetPair = D1 (MetaData "TargetPair" "Language.ATS.Package.Type" "ats-pkg-3.2.4.2-6Vgxl716ttpDbdLwBn9JSh" False) (C1 (MetaCons "TargetPair" PrefixI True) (S1 (MetaSel (Just "hs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: (S1 (MetaSel (Just "ats") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "cpphs") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Bool))))

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
Eq ForeignCabal 
Instance details

Defined in Development.Shake.ATS.Type

Show ForeignCabal 
Instance details

Defined in Development.Shake.ATS.Type

Generic ForeignCabal 
Instance details

Defined in Development.Shake.ATS.Type

Associated Types

type Rep ForeignCabal :: Type -> Type #

Binary ForeignCabal 
Instance details

Defined in Development.Shake.ATS.Type

Interpret ForeignCabal Source # 
Instance details

Defined in Language.ATS.Package.Type

type Rep ForeignCabal 
Instance details

Defined in Development.Shake.ATS.Type

type Rep ForeignCabal = D1 (MetaData "ForeignCabal" "Development.Shake.ATS.Type" "shake-ats-1.10.2.0-7SXt9qWRHIZE8PfcSc52xf" False) (C1 (MetaCons "ForeignCabal" PrefixI True) (S1 (MetaSel (Just "projectFile") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 (MetaSel (Just "cabalFile") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text) :*: S1 (MetaSel (Just "objectFile") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))))

data Debian Source #

Instances
Generic Debian Source # 
Instance details

Defined in Language.ATS.Package.Debian

Associated Types

type Rep Debian :: Type -> Type #

Methods

from :: Debian -> Rep Debian x #

to :: Rep Debian x -> Debian #

Binary Debian Source # 
Instance details

Defined in Language.ATS.Package.Debian

Methods

put :: Debian -> Put #

get :: Get Debian #

putList :: [Debian] -> Put #

Interpret Debian Source # 
Instance details

Defined in Language.ATS.Package.Debian

type Rep Debian Source # 
Instance details

Defined in Language.ATS.Package.Debian

Lenses