package ecaml

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

Install

Dune Dependency

Authors

Maintainers

Sources

v0.17.0.tar.gz
sha256=87e76473915e12d718096100a5c4d15d98aba6f99ecbf21814b7389e8c28bb25

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.