package forester

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

Install

Dune Dependency

Authors

Maintainers

Sources

2.4.tar.gz
md5=773a411088ee70e50047d7dafbb4789e
sha512=25bb2fdac7189a86a172e10a40c7d17a03cb3791c06d955e0615b6ef70eb023e4eb845470380d85cb0d145a4a8e9aef0db4ee5eb9778dec92e9a8b5035561e8d

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

Source file LaTeX_queue.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:_ Build_latex.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)) ->
    Build_latex.build_latex ~ignore_tex_cache:I.ignore_tex_cache ~env ~name ~source ~packages
end
OCaml

Innovation. Community. Security.