package functoria

  1. Overview
  2. Docs

Application builder.

Usefull module implementations

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 argv module types.

val sys_argv : argv Functoria.impl

sys_argv is a device providing command-line arguments by using Sys.argv.

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 (P : S) : sig ... end

Make is an helper to generate new a application builder with the custom constructs defined by S.

module type DSL = module type of struct include Functoria end

The signature of Functoria-like DSLs.

Misc

module Name : sig ... end

Name helpers.

module Cmd : sig ... end

Shell command helpers. FIXME: replace by Bos.

module Log : sig ... end

Console logging. FIXME: replace by Bos.Log.

module Codegen : sig ... end

Code generation helpers.

OCaml

Innovation. Community. Security.