ppx_defer

A syntax extension to provide a somewhat Go-like defer
README

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.

Install
Published
10 Mar 2016
Sources
v0.2.0.tar.gz
md5=a9505957d567684a753f661c583c2b8a
Dependencies
ppx_tools
>= "0.99.3"
ocaml
>= "4.02.3"
Reverse Dependencies