package picos_std
Sample libraries for Picos
Install
Dune Dependency
Authors
Maintainers
Sources
picos-0.5.0.tbz
sha256=862d61383e2df93a876bedcffb1fd1ddc0f96c50b0e9c07943a2aee1f0e182be
sha512=87805379017ef4a7f2c11b954625a3757a0f1431bb9ba59132202de278b3e41adbe0cdc20e3ab23b7c9a8c5a15faeb7ec79348e7d80f2b14274b00df0893b8c0
doc/src/picos_std.structured/run.ml.html
Source file run.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 39
open Picos let wrap_all t main _ = if Bundle.is_running t then begin try main () with exn -> Bundle.error t exn (Printexc.get_raw_backtrace ()) end; Bundle.decr t let wrap_any t main _ = if Bundle.is_running t then begin match main () with | () -> Bundle.terminate t | exception exn -> Bundle.error t exn (Printexc.get_raw_backtrace ()) end; Bundle.decr t let rec spawn (Bundle r as t : Bundle.t) wrap = function | [] -> () | [ main ] -> Bundle.unsafe_incr t; let unused_fake_fiber = Obj.magic () in wrap t main unused_fake_fiber | main :: mains -> Bundle.unsafe_incr t; let fiber = Fiber.create_packed ~forbid:false r.bundle in (* Note that [Fiber.spawn] checks the cancelation status of the bundle. *) Fiber.spawn fiber (wrap t main); spawn t wrap mains let run actions wrap = Bundle.join_after @@ fun (Bundle _ as t : Bundle.t) -> try spawn t wrap actions with exn -> let bt = Printexc.get_raw_backtrace () in Bundle.decr t; Bundle.error t exn bt let all actions = run actions wrap_all let any actions = run actions wrap_any
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>