package base
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Full standard library replacement for OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.16.5.tar.gz
md5=109456ad2350671ad3159cbbca993e3e
sha512=445d08b965e0d559e4046b874f611c8f36de47fa5c23a047146f48ee638588c1b73789a7adb5ead235c0ad2f44b56fd513a6d60bcb8b6c9f11566d32fd7760f2
doc/src/base/with_return.ml.html
Source file with_return.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(* belongs in Common, but moved here to avoid circular dependencies *) open! Import type 'a return = { return : 'b. 'a -> 'b } [@@unboxed] let with_return (type a) f = let module M = struct (* Raised to indicate ~return was called. Local so that the exception is tied to a particular call of [with_return]. *) exception Return of a end in let is_alive = ref true in let return a = if not !is_alive then failwith "use of [return] from a [with_return] that already returned"; Exn.raise_without_backtrace (M.Return a) in try let a = f { return } in is_alive := false; a with | exn -> is_alive := false; (match exn with | M.Return a -> a | _ -> raise exn) ;; let with_return_option f = with_return (fun return -> f { return = (fun a -> return.return (Some a)) }; None) [@nontail] ;; let prepend { return } ~f = { return = (fun x -> return (f x)) }
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>