Module Ecaml__.Funcall
val return : 'a Ecaml__.Import.Value.Type.t -> 'a t
val nil : unit Ecaml__.Import.Value.Type.t
val nullary : unit Ecaml__.Import.Value.Type.t
val (<:) : Ecaml.Symbol.t -> 'a t -> 'a
Q.foo <: ...
types an Elisp function, like howfoo :> t
types an OCaml value.
val (@->) : 'a Ecaml__.Import.Value.Type.t -> 'b t -> ('a -> 'b) t
include Ecaml__.Import.Value.Type.S
val create : Core_kernel.Sexp.t -> ('a -> Core_kernel.Sexp.t) -> (value -> 'a) -> ('a -> value) -> 'a t
val with_of_value_exn : 'a t -> (value -> 'a) -> 'a t
val to_sexp : 'a t -> 'a -> Core_kernel.Sexp.t
val bool : bool t
val float : float t
val ignored : unit t
val int : int t
val string : string t
val string_cached : string t
string_cached
is likestring
, except it usesof_utf8_bytes_cached
.
val unit : unit t
val value : value t
val list : 'a t -> 'a list t
val vector : 'a t -> 'a array t
val option : ?wrapped:bool -> 'a t -> 'a option t
The representation of an option type's values in Elisp can be "wrapped" or "unwrapped". In either case,
None
is represented asnil
. The unrwapped representation ofSome v
is the representation ofv
, whereas the wrapped representation iscons v nil
. Wrapping is necessary ifnil
is a representation of some valuev_nil
, in order to distinguish between the representation ofNone
andSome v_nil
.
val alist : 'a t -> 'b t -> ('a * 'b) list t
val tuple : 'a t -> 'b t -> ('a * 'b) t
Represent a tuple (a,b) as the elisp cons cell (a . b)
val sexpable : (module Core_kernel.Sexpable with type t = 'a) -> name:Core_kernel.Sexp.t -> 'a t
Embed a sexpable ocaml type, so we can save values of the type in emacs, e.g. as buffer local variables
val caml_embed : 'a Core_kernel.Type_equal.Id.t -> 'a t
Embed values of type
'a
. Note that unlike other functions above, the values are not transformed, so this can be used to preserve state in emacs. More precisely, this following returnstrue
:let var = Var.create (Value.Type.caml_embed type_id) in Current_buffer.set_value var v; phys_equal v (Current_buffer.value_exn var)
val path_list : string list t
A list of directories. Each element is a string (directory name) or nil (try default directory). nil values are converted to ".", which has the same meaning.
module Private : sig ... end