package eio
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Effect-based direct-style IO API for OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
eio-1.5.tbz
sha256=7d70d1f5fb2b7190bf1ab28fffeb272da51ffe6d6c9c7c94e0485fabdf3b3fda
sha512=4582ac2fb2f8616b3d8ae9670eb7913a78085899b14044408801b30a34fed6c4d32971ba72eedb0cbc3d82c057610cf81c482090e75e2985330fcde96478ac5e
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 35type ('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)"
>