package ecaml

  1. Overview
  2. Docs
Library for writing Emacs plugin in OCaml

Install

Dune Dependency

Authors

Maintainers

Sources

ecaml-v0.16.0.tar.gz
sha256=d9c6f98e7b0906a7e3d332d1a30fe950b59586b860e4f051348ea854c3ae3434

doc/src/ecaml.ecaml_value/feature.ml.html

Source file feature.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
open! Core
open! Import

module Q = struct
  let require = "require" |> Symbol.intern
end

type t = Symbol.t

let require =
  let seen = Hashtbl.create (module String) in
  fun t ->
    let name = Symbol.name t in
    let seen = Hashtbl.find_or_add seen name ~default:(fun () -> ref []) in
    if not (List.mem !seen t ~equal:Symbol.equal)
    then (
      seen := t :: !seen;
      Symbol.funcall1_i Q.require (t |> Symbol.to_value))
;;
OCaml

Innovation. Community. Security.