Module Ecaml__.Defun
include Ecaml__.Defun_intf.Defun
val sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t
module Open_on_rhs_intf : sig ... endinclude Core_kernel.Applicative.Let_syntax with type 'a t := 'a t with module Open_on_rhs_intf := Open_on_rhs_intf
module Open_on_rhs_intf : sig ... endmodule Let_syntax : sig ... endinclude Open_on_rhs_intf.S with type 'a S.t := 'a t
type 'a t= 'a t
val return : 'a -> 'a tval map : 'a t -> f:('a -> 'b) -> 'b tval both : 'a t -> 'b t -> ('a * 'b) tval required : string -> 'a Ecaml__.Import.Value.Type.t -> 'a tval optional : string -> 'a Ecaml__.Import.Value.Type.t -> 'a option tval rest : string -> 'a Ecaml__.Import.Value.Type.t -> 'a list tval optional_with_default : string -> 'a -> 'a Ecaml__.Import.Value.Type.t -> 'a tval optional_with_nil : string -> 'a Ecaml__.Import.Value.Type.t -> 'a tAn optional argument whose
Value.Type.thandlesnildirectly.
include Ecaml__.Import.Value.Type.S
val create : Core_kernel.Sexp.t -> ('a -> Core_kernel.Sexp.t) -> (value -> 'a) -> ('a -> value) -> 'a tval with_of_value_exn : 'a t -> (value -> 'a) -> 'a tval to_sexp : 'a t -> 'a -> Core_kernel.Sexp.tval bool : bool tval float : float tval ignored : unit tval int : int tval string : string tval string_cached : string tstring_cachedis likestring, except it usesof_utf8_bytes_cached.
val unit : unit tval value : value tval list : 'a t -> 'a list tval vector : 'a t -> 'a array tval array_as_list : 'a t -> 'a array tRepresent an ocaml array as an elisp list, without creating an intermediate ocaml list.
val option : 'a t -> 'a option toptionrepresentsNoneasnilandSome aascons v nil, wherevis the representation ofa.
val nil_or : 'a t -> 'a option tnil_or t_representsNoneasnilandSome aasv, wherevis the representation ofa. This is a common representation used by Elisp functions. But it is only correct ifnilis not a representation of any value int; in that situation useType.option_.
val alist : 'a t -> 'b t -> ('a * 'b) list tval tuple : 'a t -> 'b t -> ('a * 'b) tRepresent 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 tEmbed a sexpable ocaml type, so we can save values of the type in emacs, e.g. as buffer local variables
val path_list : string list tA 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 Interactive : sig ... endmodule For_testing : sig ... endmodule Returns : sig ... endAn
Returns.tstates the return type of a function and whether the function returns a value of that type directly or via aDeferred.t. An(a, a) Returns.tmeans that the function returnsadirectly. An(a, a Deferred.t) Returns.tmeans that the function returnsavia ana Deferred.t.
type 'a defun:= Ecaml.Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> ?define_keys:(Ecaml.Keymap.t * string) list -> ?obsoletes:Ecaml.Symbol.t -> ?should_profile:bool -> ?interactive:Interactive.t -> ?evil_config:Ecaml.Evil.Config.t -> 'a
val defun : ((_, 'a) Returns.t -> 'a t -> unit) defunval defun_nullary : ((_, 'a) Returns.t -> (unit -> 'a) -> unit) defunval defun_nullary_nil : ((unit -> unit) -> unit) defunval defalias : Ecaml.Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> alias_of:Ecaml.Symbol.t -> unit -> unit(describe-function 'defalias)(Info-goto-node "(elisp)Defining Functions")
val define_obsolete_alias : Ecaml.Symbol.t -> Core_kernel.Source_code_position.t -> ?docstring:string -> alias_of:Ecaml.Symbol.t -> since:string -> unit -> unit(describe-function 'define-obsolete-function-alias)N.B. Load order matters. A subsequent
defunwill override the aliasing.
val lambda : Core_kernel.Source_code_position.t -> ?docstring:string -> ?interactive:Interactive.t -> (_, 'a) Returns.t -> 'a t -> Ecaml__.Import.Function.tval lambda_nullary : Core_kernel.Source_code_position.t -> ?docstring:string -> ?interactive:Interactive.t -> (_, 'a) Returns.t -> (unit -> 'a) -> Ecaml__.Import.Function.tval lambda_nullary_nil : Core_kernel.Source_code_position.t -> ?docstring:string -> ?interactive:Interactive.t -> (unit -> unit) -> Ecaml__.Import.Function.t