package ppx_defer
A syntax extension to provide a somewhat Go-like defer
Install
Dune Dependency
Authors
Maintainers
Sources
v0.2.0.tar.gz
sha256=f12eaa45454428c802cc6a47f6624ddc35e3a561208263b2eeea85ca344d98f1
md5=a9505957d567684a753f661c583c2b8a
README.md.html
ppx_defer
This is an OCaml language extension implementing a somewhat Go-ish [%defer expr1]; expr2
which will defer the evaluation of expr1
until after expr2
. expr1
will still be evaluated if expr2
raises an exception.
If you are using Lwt you can use [%defer.lwt expr1]; expr2
.
Thanks to Drup for guidance in figuring out ppx details!
Using ppx_defer
let () =
let ic = open_in_bin "some_file" in
[%defer close_in ic];
let length = in_channel_length ic in
let bytes = really_input_string ic length in
print_endline bytes
See the examples/
directory for more examples.
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>