ats-pkg-3.2.5.13: 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 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

pretty :: Version -> Doc

prettyList :: [Version] -> Doc

Inject Version 
Instance details

Defined in Language.ATS.Package.Type

Methods

injectWith :: InterpretOptions -> InputType Version

Interpret Version 
Instance details

Defined in Language.ATS.Package.Debian

Methods

autoWith :: InterpretOptions -> Type 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
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

Methods

autoWith :: InterpretOptions -> Type 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.2.5.13-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 "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
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 #

Interpret Bin Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InterpretOptions -> Type Bin

type Rep Bin Source # 
Instance details

Defined in Language.ATS.Package.Type

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

Methods

autoWith :: InterpretOptions -> Type Lib

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

Methods

autoWith :: InterpretOptions -> Type Src

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

Methods

autoWith :: InterpretOptions -> Type 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.2.5.13-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
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

Interpret ATSDependency Source # 
Instance details

Defined in Language.ATS.Package.Type

Methods

autoWith :: InterpretOptions -> Type 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
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

Methods

autoWith :: InterpretOptions -> Type TargetPair

type Rep TargetPair Source # 
Instance details

Defined in Language.ATS.Package.Type

data ForeignCabal #

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

Defined in Language.ATS.Package.Type

Methods

autoWith :: InterpretOptions -> Type 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.2.1-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
Pretty ATSPackageSet Source # 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

pretty :: ATSPackageSet -> Doc

prettyList :: [ATSPackageSet] -> Doc

Interpret ATSPackageSet Source # 
Instance details

Defined in Language.ATS.Package.PackageSet

Methods

autoWith :: InterpretOptions -> Type ATSPackageSet

data PackageError Source #

Constructors

Unrecognized String 
DepErr ResolveError 
Instances
Pretty PackageError Source # 
Instance details

Defined in Language.ATS.Package.Error

Methods

pretty :: PackageError -> Doc

prettyList :: [PackageError] -> Doc

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

Methods

autoWith :: InterpretOptions -> Type Debian

type Rep Debian Source # 
Instance details

Defined in Language.ATS.Package.Debian

Lenses