Module Bistro.Template

Represents a text with special symbols

type t
val dest : t

Symbol representing the location where a workflow is expected to produce its result

val tmp : t

Symbol representing an existing empty directory that can be used as a temporary space for a workflow's execution.

val np : t

Symbol representing the number of cores allocated to the workflow

val mem : t

Symbol representing the memory size allocated to the workflow, in GB.

val exe : t

Symbol representing the path of the current executable, as specified by Sys.argv.(0)

val string : string ‑> t

A chunk of text

val int : int ‑> t

Int formatting

val float : float ‑> t

Float formatting

val path : Path.t ‑> t

Path formatting

val dep : _ Workflow.t ‑> t

dep w is interpreted as the path where to find the result of workflow w

val quote : ?⁠using:char ‑> t ‑> t

quote ~using:c t surrounds template t with character c

val option : ('a ‑> t) ‑> 'a option ‑> t

option f o is f x if o = Some x and string "" otherwise

val list : ('a ‑> t) ‑> ?⁠sep:string ‑> 'a list ‑> t

list combinator, optional value of sep is ","

val seq : ?⁠sep:string ‑> t list ‑> t

another list combinator, default value for sep is ""

val enum : ('a * string) list ‑> 'a ‑> t

combinator for enumerations

val file_dump : t ‑> t

file_dump t can be used when a command needs a configuration script: at run-time, it will generate a text using t, save it to a path, deterministically chosen as a function of t. Finally the template file_dump t is interpreted as this path.