package ppx_meta_conv
PPX for converting between OCaml values and JSON, Sexp and camlon
Install
Dune Dependency
Authors
Maintainers
Sources
ppx_meta_conv-4.1.0.tar.gz
md5=aad544375f23a3979aafe9defdebf4bd
sha512=991ad7433c8f2f51b298d4c99b35b873aab66c5d1da1beaa18f8f58f8e708e5a4299f0bb657af9d12bfcd3d645f48b3efe21e13b8c62e303604bd374e88f7d3a
doc/src/ppx_meta_conv.runtime/result.ml.html
Source file 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 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
(** Result monad *) type ('a, 'error) t = ('a, 'error) result let bind t f = match t with | Ok v -> f v | Error err -> Error err let (>>=) = bind let fmap f t = match t with | Ok v -> Ok (f v) | Error err -> Error err let (>>|) t f = fmap f t let map dec ts = let rec map st = function | [] -> Ok (List.rev st) | t::ts -> match dec t with | Ok h -> map (h::st) ts | Error err -> Error err in map [] ts let mapi dec ts = let rec map st n = function | [] -> Ok (List.rev st) | t::ts -> match dec n t with | Ok h -> map (h::st) (n+1) ts | Error err -> Error err in map [] 0 ts let fail e = Error e let catch f = let module Error = struct exception Error end in let error = ref None in let fail e = error := Some e; raise Error.Error in try Ok (f ~fail) with | Error.Error -> match !error with | Some e -> Error e | None -> assert false let catch_exn f = catch (fun ~fail -> try f () with e -> fail e) let result okf errf = function | Ok v -> okf v | Error e -> errf e module Open = struct let (>>=) = (>>=) let (>>|) = (>>|) end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>