idris-0.11.2: Functional Programming Language with Dependent Types

Safe HaskellNone
LanguageHaskell98

Pkg.Package

Contents

Synopsis

read the package description

check all the library dependencies exist

invoke the makefile if there is one

invoke idris on each module, with idris_opts

install everything into datadir/pname, if install flag is set

buildPkg Source

Arguments

:: [Opt]

Command line options

-> Bool

Provide Warnings

-> (Bool, FilePath)

(Should we install, Location of iPKG file)

-> IO () 

Run the package through the idris compiler.

checkPkg Source

Arguments

:: [Opt]

Command line Options

-> Bool

Show Warnings

-> Bool

quit on failure

-> FilePath

Path to ipkg file.

-> IO () 

Type check packages only

This differs from build in that executables are not built, if the package contains an executable.

replPkg Source

Arguments

:: [Opt]

Command line Options

-> FilePath

Path to ipkg file.

-> Idris () 

Check a package and start a REPL.

This function only works with packages that have a main module.

cleanPkg Source

Arguments

:: [Opt]

Command line options.

-> FilePath

Path to ipkg file.

-> IO () 

Clean Package build files

documentPkg Source

Arguments

:: [Opt]

Command line options.

-> FilePath

Path to ipkg file.

-> IO () 

Generate IdrisDoc for package TODO: Handle case where module does not contain a matching namespace E.g. from prelude.ipkg: IO, Prelude.Chars, Builtins

Issue number #1572 on the issue tracker https://github.com/idris-lang/Idris-dev/issues/1572

testPkg Source

Arguments

:: [Opt]

Command line options.

-> FilePath

Path to ipkg file.

-> IO () 

Build a package with a sythesized main function that runs the tests

installPkg Source

Arguments

:: [String]

Alternate install location

-> PkgDesc

iPKG file.

-> IO () 

Install package

rmIBC :: Name -> IO () Source

inPkgDir :: PkgDesc -> IO a -> IO a Source

make :: Maybe String -> IO () Source

Invoke a Makefile's default target.

clean :: Maybe String -> IO () Source

Invoke a Makefile's clean target.

mergeOptions Source

Arguments

:: [Opt]

The command line options

-> [Opt]

The package options

-> Either String [Opt] 

Merge an option list representing the command line options into those specified for a package description.

This is not a complete union between the two options sets. First, to prevent important package specified options from being overwritten. Second, the semantics for this merge are not fully defined.

A discussion for this is on the issue tracker: https://github.com/idris-lang/Idris-dev/issues/1448