package ecaml

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

Module Ecaml.SymbolSource

An Emacs symbol, i.e., an Emacs value that satisfies Value.is_symbol.

(Info-goto-node "(elisp)Symbols")

include module type of struct include Ecaml_value.Symbol end
include Ecaml_value.Value.Subtype
Sourcetype t = private Ecaml_value.Value.t

We expose private value for free identity conversions when the value is nested in some covariant type, e.g. (symbols : Symbol.t list :> Value.t list) rather than List.map symbols ~f:Symbol.to_value.

Sourceval sexp_of_t : t -> Sexplib0.Sexp.t
Sourceval eq : t -> t -> bool

eq t1 t2 = Value.eq (to_value t1) (to_value t2), i.e. eq checks whether the Emacs values underlying t1 and t2 are physically equal. This is different than phys_equal t1 t2, because we don't always wrap eq Emacs values in phys_equal OCaml values. I.e. phys_equal t1 t2 implies eq t1 t2, but not the converse.

Sourceval is_in_subtype : Ecaml_value.Value.t -> bool
Sourceval of_value_exn : Ecaml_value__.Value0.t -> t
Sourceval to_value : t -> Ecaml_value__.Value0.t
include Core.Equal.S with type t := t
include Ecaml_value.Value.Funcall with type t := t
Sourceval funcall0 : ?should_profile:bool -> t -> Ecaml_value.Value.t
Sourceval funcall1 : ?should_profile:bool -> t -> Ecaml_value.Value.t -> Ecaml_value.Value.t
Sourceval funcall2 : ?should_profile:bool -> t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> Ecaml_value.Value.t
Sourceval funcallN : ?should_profile:bool -> t -> Ecaml_value.Value.t list -> Ecaml_value.Value.t
Sourceval funcallN_array : ?should_profile:bool -> t -> Ecaml_value.Value.t array -> Ecaml_value.Value.t
Sourceval funcall0_i : ?should_profile:bool -> t -> unit
Sourceval funcall1_i : ?should_profile:bool -> t -> Ecaml_value.Value.t -> unit
Sourceval funcall2_i : ?should_profile:bool -> t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> unit
Sourceval funcall3_i : ?should_profile:bool -> t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> unit
Sourceval funcall4_i : ?should_profile:bool -> t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> unit
Sourceval funcall5_i : ?should_profile:bool -> t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> unit
Sourceval funcallN_i : ?should_profile:bool -> t -> Ecaml_value.Value.t list -> unit
Sourceval funcallN_array_i : ?should_profile:bool -> t -> Ecaml_value.Value.t array -> unit
Sourceval funcall_int_int_value_value_unit : ?should_profile:bool -> t -> int -> int -> Ecaml_value.Value.t -> Ecaml_value.Value.t -> unit
Sourceval funcall_int_int_value_unit : ?should_profile:bool -> t -> int -> int -> Ecaml_value.Value.t -> unit
Sourceval intern : string -> t
type symbol := t

Accessors

Sourceval name : t -> string

(describe-function 'symbol-name)

Sourceval function_exn : t -> Ecaml_value.Value.t

(describe-function 'symbol-function)

Sourceval function_is_defined : t -> bool

(describe-function 'fboundp)

Sourceval compare_name : t -> t -> int
Sourceval create : name:string -> t

(describe-function 'make-symbol).

Sourceval gensym : ?prefix:string -> unit -> t

(describe-function 'gensym).

Sourcemodule Automatic_migration : sig ... end

Automatic_migration supports migrating from one symbol-naming convention to another. Use Automatic_migration.add to add a function that maps names from the old convention to the new. Once you've done that, the following functions will automatically migrate their symbol argument, and and an obsolete alias pointing from the old name to the new.

Sourcemodule Disabled : sig ... end

Whether a command is disabled, and an optional message if so.

Sourcemodule Property : sig ... end
Sourcemodule type Subtype = sig ... end
Sourcemodule Make_subtype (Arg : sig ... end) : Subtype with type t := Arg.t
Sourcemodule Compare_name : sig ... end
OCaml

Innovation. Community. Security.