package biocaml

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file biocaml_result.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


include Result

module List = struct

  let mapi (type error) l ~(f:(int -> 'a -> ('b, error) t)) =
    let module M = struct
      exception E of error
      let the_fun () =
        let run () =
          List.mapi l ~f:(fun i x ->
              match f i x with
              | Ok o -> o
              | Error e -> raise (E e))
        in
        try Ok (run ())
        with
        | E e -> Error e
    end in
    M.the_fun ()

  let map l ~f = mapi l ~f:(fun _ x -> f x)

end
OCaml

Innovation. Community. Security.