package sail

  1. Overview
  2. Docs
val skip_lines : Stdlib.in_channel -> int -> unit
val read_lines : Stdlib.in_channel -> int -> string list
type formatter = {
  1. indent : string;
  2. endline : string -> unit;
  3. loc_color : string -> string;
}
val err_formatter : formatter
val buffer_formatter : Stdlib.Buffer.t -> formatter
val format_endline : string -> formatter -> unit
val underline_single : (string -> string) -> int -> int -> string
val format_code_single' : string -> Stdlib.in_channel -> int -> int -> int -> (formatter -> 'a) -> formatter -> 'a
val underline_double_from : (string -> string) -> int -> int -> string
val underline_double_to : (string -> string) -> int -> string
val format_code_double' : string -> Stdlib.in_channel -> int -> int -> int -> int -> (formatter -> 'a) -> formatter -> 'a
val format_code_single : string -> int -> int -> int -> (formatter -> 'a) -> formatter -> unit
val format_code_double : string -> int -> int -> int -> int -> (formatter -> 'a) -> formatter -> unit
val format_pos : Stdlib.Lexing.position -> Stdlib.Lexing.position -> (formatter -> 'a) -> formatter -> unit
val format_loc : Parse_ast.l -> (formatter -> unit) -> formatter -> unit
type message =
  1. | Location of Parse_ast.l * message
  2. | Line of string
  3. | List of (string * message) list
  4. | Seq of message list
  5. | With of formatter -> formatter * message
val bullet : string
val format_message : message -> formatter -> unit
OCaml

Innovation. Community. Security.