package forester

  1. Overview
  2. Docs
A tool for tending mathematical forests

Install

Dune Dependency

Authors

Maintainers

Sources

2.3.tar.gz
md5=00fff94216aacd334351c2b1741d5246
sha512=724770d12a91674da76cc7842020ce7af2d37950d4429fe1ffac3b05d73a2079648f00c8eb33595e3dfa4874b2cd6b6a8c9d1f9034276a00b44d302091630cdb

doc/src/forester.frontend/LaTeXQueue.ml.html

Source file LaTeXQueue.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module T = Domainslib.Task

module type S =
sig
  val enqueue : name:string -> packages:string list -> source:string -> unit
  val process : env:_ BuildLaTeX.env -> unit
end

module Make (I : sig val max_fibers : int val ignore_tex_cache : bool end) : S =
struct
  let svg_queue : (string, string list * string) Hashtbl.t = Hashtbl.create 100

  let enqueue ~name ~packages ~source =
    if not @@ Hashtbl.mem svg_queue name then
      Hashtbl.add svg_queue name (packages, source)

  let process ~env : unit =
    Hashtbl.to_seq svg_queue |> List.of_seq |>
    Eio.Fiber.List.iter ~max_fibers:I.max_fibers @@ fun (name, (packages, source)) ->
    BuildLaTeX.build_latex ~ignore_tex_cache:I.ignore_tex_cache ~env ~name ~source ~packages
end
OCaml

Innovation. Community. Security.