package catala

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

Utility functions used for file manipulation.

val with_out_channel : string -> (Stdlib.out_channel -> 'a) -> 'a

Runs the given function with the provided file opened, ensuring it is properly closed afterwards. May raise just as open_out.

val with_in_channel : string -> (Stdlib.in_channel -> 'a) -> 'a

Runs the given function with the provided file opened, ensuring it is properly closed afterwards. May raise just as open_in.

Formatter wrappers

val with_formatter_of_out_channel : Stdlib.out_channel -> (Stdlib.Format.formatter -> 'a) -> 'a

with_formatter_of_out_channel oc f creates an flushes the formatter used in f from the given out_channel oc.

val with_formatter_of_file : string -> (Stdlib.Format.formatter -> 'a) -> 'a

with_formatter_of_file filename f manages the formatter created from the file filename used in f -- i.e. closes the corresponding out_channel and flushes the formatter.

val with_formatter_of_opt_file : string option -> (Stdlib.Format.formatter -> 'a) -> 'a

with_formatter_of_opt_file filename_opt f manages the formatter created from the file filename_opt if there is some (see with_formatter_of_file), otherwise, uses the Format.std_formatter.

val get_out_channel : source_file:Pos.input_file -> output_file:string option -> ?ext:string -> unit -> string option * ((Stdlib.out_channel -> 'a) -> 'a)

get_output ~source_file ~output_file ?ext () returns the infered filename and its corresponding with_out_channel function. If the output_file is equal to Some "-" returns a wrapper around stdout.

val get_formatter_of_out_channel : source_file:Pos.input_file -> output_file:string option -> ?ext:string -> unit -> string option * ((Stdlib.Format.formatter -> 'a) -> 'a)

get_output_format ~source_file ~output_file ?ext () returns the infered filename and its corresponding with_formatter_of_out_channel function. If the output_file is equal to Some "-" returns a wrapper around stdout.