package base

  1. Overview
  2. Docs
Full standard library replacement for OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

v0.16.4.tar.gz
md5=1716b735b93c9d068dd9790bb40d6562
sha512=ab1bf389889dda97235a76782858521256ab65290831c1234781bc4b3ec8186680616f64b922b0c9dfd11b2ed46e0be9e9b8778904a97ef5f849132b925fd210

doc/base/Base/Error/index.html

Module Base.ErrorSource

A lazy string, implemented with Info, but intended specifically for error messages.

Sourcetype t = private Info.t

Serialization and comparison force the lazy message.

Sourceval compare : t -> t -> int
Sourceval equal : t -> t -> bool
Sourceval hash_fold_t : Hash.state -> t -> Hash.state
Sourceval hash : t -> Hash.hash_value
include Sexplib0.Sexpable.S with type t := t
Sourceval t_of_sexp : Sexplib0.Sexp.t -> t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval t_sexp_grammar : t Sexplib0.Sexp_grammar.t
Sourceval invariant : t -> unit
Sourceval to_string_hum : t -> string

to_string_hum forces the lazy message, which might be an expensive operation.

to_string_hum usually produces a sexp; however, it is guaranteed that to_string_hum (of_string s) = s.

If this string is going to go into a log file, you may find it useful to ensure that the string is only one line long. To do this, use to_string_mach t.

Sourceval to_string_mach : t -> string

to_string_mach t outputs t as a sexp on a single line.

Sourceval to_string_hum_deprecated : t -> string

Old version (pre 109.61) of to_string_hum that some applications rely on.

Calls should be replaced with to_string_mach t, which outputs more parentheses and backslashes.

Sourceval of_string : string -> t

Be careful that the body of the lazy or thunk does not access mutable data, since it will only be called at an undetermined later point.

Sourceval of_lazy : string Lazy.t -> t
Sourceval of_lazy_sexp : Sexp.t Lazy.t -> t
Sourceval of_thunk : (unit -> string) -> t
Sourceval of_lazy_t : t Lazy.t -> t
Sourceval create : ?here:Lexing.position -> ?strict:unit -> string -> 'a -> ('a -> Sexp.t) -> t

For create message a sexp_of_a, sexp_of_a a is lazily computed, when the info is converted to a sexp. So if a is mutated in the time between the call to create and the sexp conversion, those mutations will be reflected in the sexp. Use ~strict:() to force sexp_of_a a to be computed immediately.

Sourceval create_s : Sexp.t -> t
Sourceval createf : ('a, unit, string, t) format4 -> 'a

Constructs a t containing only a string from a format. This eagerly constructs the string.

Sourceval tag : t -> tag:string -> t

Adds a string to the front.

Sourceval tag_s : t -> tag:Sexp.t -> t

Adds a sexp to the front.

Sourceval tag_s_lazy : t -> tag:Sexp.t Lazy.t -> t

Adds a lazy sexp to the front.

Sourceval tag_arg : t -> string -> 'a -> ('a -> Sexp.t) -> t

Adds a string and some other data in the form of an s-expression at the front.

Sourceval of_list : ?trunc_after:int -> t list -> t

Combines multiple infos into one.

Sourceval of_exn : ?backtrace:[ `Get | `This of string ] -> exn -> t

of_exn and to_exn are primarily used with Error, but their definitions have to be here because they refer to the underlying representation.

~backtrace:`Get attaches the backtrace for the most recent exception. The same caveats as for Printexc.print_backtrace apply. ~backtrace:(`This s) attaches the backtrace s. The default is no backtrace.

Sourceval to_exn : t -> exn
Sourceval pp : Formatter.t -> t -> unit
Sourcemodule Internal_repr : sig ... end
Sourceval raise : t -> _

Note that the exception raised by this function maintains a reference to the t passed in.

Sourceval raise_s : Sexp.t -> _
Sourceval to_info : t -> Info.t
Sourceval of_info : Info.t -> t
OCaml

Innovation. Community. Security.