package ocamlformat-mlx-lib

  1. Overview
  2. Docs
OCaml .mlx Code Formatter

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ocamlformat-mlx-0.29.0.1.tbz
sha256=c4986e5af3e816e8a1fc130e5c26b4ac13fd60efed05a84449ec014640813273
sha512=fae91c260e9d8ddf2c6c8e7f46caf87329777e40e5c80320bbf942ed849789bca477e054010a71213f6451211be9fe3926923cc1aa7f3ac22db875dfbaa59dc2

doc/src/ocamlformat-mlx-lib.odoc_parser/compat.ml.html

Source file compat.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
module Option = struct
  type 'a t = 'a option = None | Some of 'a

  let is_some = function None -> false | Some _ -> true
  let value ~default = function None -> default | Some x -> x

  let join_list l =
    let rec loop acc = function
      | [] -> Some (List.rev acc)
      | Some a :: q -> loop (a :: acc) q
      | None :: _ -> None
    in
    loop [] l
end

module Char = struct
  include Char

  let equal (x : char) y = x = y
end

module String = struct
  include String

  let for_all f str =
    let rec aux i =
      if i >= String.length str then true
      else if f (String.get str i) then aux (i + 1)
      else false
    in
    aux 0
end