package eio
Effect-based direct-style IO API for OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
eio-0.13.tbz
sha256=82537ee1c5b1829fde8207614a4e39f560bd582332841290ed5ef76691f3af70
sha512=69fc509e5ed34da64c3c26fa22558ce7f0cb42afa65c864c57dbb05948e12c0f4f6ab7b77a07f8b292ea3a18748ed46deb9da6af74852115da5e938177b3bf18
doc/src/eio/resource.ml.html
Source file resource.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
type ('t, 'impl, 'tags) pi = .. type _ binding = H : ('t, 'impl, 'tags) pi * 'impl -> 't binding type 't ops = 't binding array type ('t, 'tags) handler = 't ops type -'a t = T : ('t * 't ops) -> 'a t let not_supported () = failwith "Operation not supported!" let handler = Array.of_list let bindings = Array.to_list let get : 't ops -> ('t, 'impl, 'tags) pi -> 'impl = fun ops op -> let rec aux i = if i = Array.length ops then not_supported (); let H (k, v) = ops.(i) in if Obj.repr k == Obj.repr op then Obj.magic v else aux (i + 1) in aux 0 let get_opt : 't ops -> ('t, 'impl, 'tags) pi -> 'impl option = fun ops op -> let rec aux i = if i = Array.length ops then None else ( let H (k, v) = ops.(i) in if Obj.repr k == Obj.repr op then Some (Obj.magic v) else aux (i + 1) ) in aux 0 type close_ty = [`Close] type (_, _, _) pi += Close : ('t, 't -> unit, [> close_ty]) pi let close (T (t, ops)) = get ops Close t
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>