package ppx_deriving_yojson
JSON codec generator for OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
ppx_deriving_yojson-3.9.0.tbz
sha256=6745f4f6615c918b0b00296161e0da20c1a6b2b8650bf1b7a5313f94171c4047
sha512=c91a5ce823b1785d071358511b8851bb3ddd3a5cb1ee1e1d3fb95949c6a49d106398ea4bcc7ed9ebb338838ac6280d2128cb574e542c004e3787a0cfafce4a82
doc/src/ppx_deriving_yojson.runtime/ppx_deriving_yojson_runtime.ml.html
Source file ppx_deriving_yojson_runtime.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 Ppx_deriving_runtime let (>>=) x f = match x with Ok x -> f x | (Error _) as x -> x let (>|=) x f = x >>= fun x -> Ok (f x) let rec map_bind f acc xs = match xs with | x :: xs -> (* equivalent to [f x >>= fun x -> map_bind f (x :: acc) xs], but do not use [(>>=)] to keep [map_bind] tail-recursive under js-of-ocaml *) (match f x with | ((Error _) as err) -> err | Ok x -> map_bind f (x :: acc) xs) | [] -> Ok (List.rev acc) type 'a error_or = ('a, string) result (** [safe_map f l] returns the same value as [List.map f l], but computes it tail-recursively so that large list lengths don't cause a stack overflow *) let safe_map f l = List.rev (List.rev_map f l)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>