ats-pkg-3.5.0.2: A build tool for ATS
Safe HaskellNone
LanguageHaskell2010

Language.ATS.Package

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

-> Bool

Debug build?

-> Int

Verbosity

-> IO () 

Ecosystem functionality

Types

newtype Version #

Constructors

Version [Natural] 

Instances

Instances details
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 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

pretty :: Version -> Doc

prettyList :: [Version] -> Doc

FromDhall Version 
Instance details

Defined in Language.ATS.Package.Debian

Methods

autoWith :: InputNormalizer -> Decoder Version

ToDhall Version 
Instance details

Defined in Language.ATS.Package.Type

Methods

injectWith :: InputNormalizer -> Encoder Version

type Rep Version 
Instance details

Defined in Data.Dependency.Type

type Rep Version = D1 ('MetaData "Version" "Data.Dependency.Type" "dependency-1.2.0.3-inplace" '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

Instances details
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 #

FromDhall Pkg Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder Pkg

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.5.0.2-inplace" '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 "bench") '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

Instances

Instances details
Generic Bin Source # 
Instance details

Defined in Language.ATS.Package.Type

Associated Types

type Rep Bin :: Type -> Type #

Methods

from :: Bin -> Rep Bin x #

to :: Rep Bin x -> Bin #

Binary Bin Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

put :: Bin -> Put #

get :: Get Bin #

putList :: [Bin] -> Put #

FromDhall Bin Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder Bin

type Rep Bin Source # 
Instance details

Defined in Language.ATS.Package.Type

data Lib Source #

Constructors

Lib 

Fields

Instances

Instances details
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 #

FromDhall Lib Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder Lib

type Rep Lib Source # 
Instance details

Defined in Language.ATS.Package.Type

data Src Source #

Constructors

Src 

Fields

Instances

Instances details
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 #

FromDhall Src Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder Src

type Rep Src Source # 
Instance details

Defined in Language.ATS.Package.Type

data ATSConstraint Source #

Constructors

ATSConstraint 

Instances

Instances details
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

FromDhall ATSConstraint Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder ATSConstraint

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.5.0.2-inplace" '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

Instances details
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 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

pretty :: ATSDependency -> Doc

prettyList :: [ATSDependency] -> Doc

FromDhall ATSDependency Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder ATSDependency

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

Instances details
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

FromDhall TargetPair Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder TargetPair

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.5.0.2-inplace" '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 #

Instances

Instances details
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

FromDhall ForeignCabal 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InputNormalizer -> Decoder ForeignCabal

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.4.2-inplace" '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))))

newtype ATSPackageSet Source #

Constructors

ATSPackageSet 

Instances

Instances details
Pretty ATSPackageSet Source # 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

pretty :: ATSPackageSet -> Doc

prettyList :: [ATSPackageSet] -> Doc

FromDhall ATSPackageSet Source # 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

autoWith :: InputNormalizer -> Decoder ATSPackageSet

data PackageError Source #

Constructors

Unrecognized String 
DepErr ResolveError 

Instances

Instances details
Pretty PackageError Source # 
Instance details

Defined in Language.ATS.Package.Error

Methods

pretty :: PackageError -> Doc

prettyList :: [PackageError] -> Doc

data Debian Source #

Instances

Instances details
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 #

FromDhall Debian Source # 
Instance details

Defined in Language.ATS.Package.Debian

Methods

autoWith :: InputNormalizer -> Decoder Debian

type Rep Debian Source # 
Instance details

Defined in Language.ATS.Package.Debian

Lenses