Module Functoria_app

Application builder.

Useful module implementations

val noop : Functoria.job Functoria.impl

noop is an implementation of Functoria.job that holds 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 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 info 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.

Builders

module type S = sig ... end

S is the signature that application builders have to provide.

module Make : functor (P : S) -> sig ... end
module type DSL = module type of sig ... end

The signature of Functoria-like DSLs.

Misc

module Name : sig ... end

Name helpers.

module Codegen : sig ... end

Code generation helpers.