package catala

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

This module contains definitions of global flags and types used throughout. They should be defined from the command-line and never modified afterwards.

type file = string

File names ; equal to File.t but let's avoid cyclic dependencies

type raw_file = private file

A file name that has not yet been resolved, options.path_rewrite must be called on it

type backend_lang =
  1. | En
  2. | Fr
  3. | Pl
type when_enum =
  1. | Auto
  2. | Always
  3. | Never

The usual auto/always/never option argument

type message_format_enum =
  1. | Human
  2. | GNU
    (*

    Format of error and warning messages output by the compiler.

    *)
type 'file input_src =
  1. | FileName of 'file
    (*

    A file path to read from disk

    *)
  2. | Contents of string * 'file
    (*

    A raw string containing the code, and the corresponding (fake) filename

    *)
  3. | Stdin of 'file
    (*

    Read from stdin; the specified filename will be used for file lookups, error reportings, etc.

    *)

Sources for program input

Configuration globals

type options = private {
  1. mutable input_src : file input_src;
  2. mutable language : backend_lang option;
  3. mutable debug : bool;
  4. mutable color : when_enum;
  5. mutable message_format : message_format_enum;
  6. mutable trace : bool;
  7. mutable plugins_dirs : file list;
  8. mutable disable_warnings : bool;
  9. mutable max_prec_digits : int;
  10. mutable path_rewrite : raw_file -> file;
}

Global options, common to all subcommands (note: the fields are internally mutable only for purposes of the globals toplevel value defined below)

val options : options

A global definition to the global options is provided for convenience, e.g. choosing the proper output in formatting functions. Prefer the use of the options returned by the command-line parsing whenever possible.

val enforce_options : ?input_src:file input_src -> ?language:backend_lang option -> ?debug:bool -> ?color:when_enum -> ?message_format:message_format_enum -> ?trace:bool -> ?plugins_dirs:file list -> ?disable_warnings:bool -> ?max_prec_digits:int -> ?path_rewrite:(raw_file -> file) -> unit -> options

Sets up the global options (side-effect); for specific use-cases only, this should never be called from the compiler outside of the Cli module. Other proper uses include setting up the compiler library when using it directly through a specific front-end.

val input_src_file : file input_src -> file
val raw_file : string -> raw_file

Create a raw_file, for use directly after parsing from the cmdline

OCaml

Innovation. Community. Security.