package hockmd

  1. Overview
  2. Docs

Source file utils.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
33
34
module Result_syntax = struct
  let ( let* ) = Result.bind
  let ( let+ ) a b = Result.map b a
end

module Combined_syntax = struct
  let ( let++ ) a b =
    let open Lwt.Syntax in
    let+ x = a in
    let open Result_syntax in
    let+ x = x in
    b x

  let ( let** ) a b =
    let open Lwt.Syntax in
    let* x = a in
    match x with Error e -> Lwt.return (Error e) | Ok o -> b o

  let ( let*+ ) a b =
    let open Lwt.Syntax in
    let* x = a in
    match x with
    | Error e -> Lwt.return (Error e)
    | Ok o ->
        let+ r = b o in
        Ok r

  let ( let+* ) a b =
    let open Lwt.Syntax in
    let+ x = a in
    let open Result_syntax in
    let* x = x in
    b x
end
OCaml

Innovation. Community. Security.