idris-1.0: Functional Programming Language with Dependent Types

CopyrightLicense : BSD3
MaintainerThe Idris Community.
Safe HaskellNone
LanguageHaskell98

Idris.Package

Contents

Description

 

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.

-> (Bool, FilePath)

(Should we install?, 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 ExitCode 

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