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.4.tbz
sha256=ba11ad486f492130dbb486f2b3bdc4905643f10016806ddf86e9a34e4346aaa5
sha512=57ef2c137ccdc26d8029e636b6a4ee92da7c6b2f35954946bd56ca595d6947a8ec42f6f83f8552f73d6719e6ce2314cae2e2fad1686a387522935e6f90e9a8d9
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)"
>