Module Functoria_app

module Functoria_app: sig .. end
Application builder.

Usefull module implementations

val noop : Functoria.job Functoria.impl
noop is an implementation of Functoria.job that hold no state, does nothing and has no dependency.
type argv 
The type for command-line arguments, similar to the usual Sys.argv.
val argv : argv Functoria.typ
argv is a value representing Functoria_app.argv module types.
val sys_argv : argv Functoria.impl
sys_argv is a device providing command-line arguments by using Sys.argv.
val keys : argv Functoria.impl -> Functoria.job Functoria.impl
keys a is an implementation of Functoria.job that holds the parsed command-line arguments.
type info 
The type for application about the application being built.
val info : info Functoria.typ
info is a value representing module types.
val app_info : ?type_modname:string ->
?gen_modname:string -> unit -> info Functoria.impl
app_info is the module implementation whose state contains all the information available at configure-time. The type of the generated value lives in the module type_modname: if not set, it is Functoria_info. The value is stored into a generated module name gen_modname: if not set, it is Info_gen.


module type S = sig .. end
S is the signature that application builders have to provide.
module Make: 
functor (P : S) -> sig .. end
Make is an helper to generate new a application builder with the custom constructs defined by Functoria_app.S.
module type DSL = module type of struct include Functoria end
The signature of Functoria-like DSLs.


module Name: sig .. end
Name helpers.
module Cmd: sig .. end
Shell command helpers.
module Log: sig .. end
Console logging.
module Codegen: sig .. end
Code generation helpers.