Lastik-0.2: A library for compiling programs in a variety of languages

Lastik.Output

Description

A module for data types that have an output file(s) target and/or can reference a target. e.g. The Javac data type might have an output target given by the -d option and references a target by the -classpath option.

Synopsis

Documentation

class Output o whereSource

A class of data types that have a potential output target.

Methods

output :: o -> Maybe FilePathSource

class OutputReference r whereSource

A class of data types that can reference an output target.

Methods

reference :: [FilePath] -> r -> rSource

reference' :: r -> [FilePath]Source

(<=+=>)Source

Arguments

:: OutputReference r 
=> FilePath

The file path to add.

-> r

The value to add the given file path to.

-> r

The value with the given file path added.

Adds the given file path to the reference target of the given value.

(<=++=>)Source

Arguments

:: OutputReference r 
=> [FilePath]

The file paths to add.

-> r

The value to add the given file paths to.

-> r

The value with the given file paths added.

Adds the given file paths to the reference target of the given value.

(>===>)Source

Arguments

:: (Output o, OutputReference r) 
=> o

The value with an output target value to add.

-> r

The value to add the output target to.

-> r

The value after the output target has been added.

Adds the (potential) output target of the given value to the output target of the given value.

(>=>=>)Source

Arguments

:: (Output o, OutputReference o, OutputReference r) 
=> o

The value with an output target and output references to add.

-> r

The value to add the output target and output references to.

-> r

The value after the output target has been added.

Adds the (potential) output target and output references of the given value to the output target of the given value.

outrefSource

Arguments

:: (Output o, OutputReference o) 
=> o

The value to add the output target to its output reference.

-> o 

Adds the output target to the output reference of the given value.

(<==>)Source

Arguments

:: [FilePath]

The set of file paths to compute the latest modification time.

-> [FilePath]

The set of file paths to filter and keep those that have a later modification time.

-> IO [FilePath]

The file paths with a later last-modification time than the latest in the first argument.

Returns all existing files of the second argument that have a later last-modification time than the latest of all existing files in the first argument.

(<===>)Source

Arguments

:: Output o 
=> o

The value to compute the output target and recursively search for the latest last-modification time.

-> [FilePath]

The set of file paths to filter and keep those that have a later modification time.

-> IO [FilePath]

The file paths with a later last-modification time than the latest in the output target of the first argument.

Returns all existing files of the second argument that have a later last-modification time than all files (recursively) in the output target of the the first argument.