ppx_deferversion Documentation on ocaml.org
Go-like `[%defer later]; now` syntax.
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.
| Author | Hezekiah M. Carty <hez@0ok.org> |
|---|---|
| License | MIT |
| Published | |
| Homepage | https://github.com/hcarty/ppx_defer |
| Issue Tracker | https://github.com/hcarty/ppx_defer/issues |
| Maintainer | Hezekiah M. Carty <hez@0ok.org> |
| Dependencies |
|
| Source [http] | https://github.com/hcarty/ppx_defer/releases/download/v0.3.0/ppx_defer-0.3.0.tbz sha256=c2fe82c787f43650ab5daf82e8ecd2d41a1e6444bd54ec82453cfbb34a4007eb md5=ce43604abdf98806c2321481ecf6e75b |
| Edit | https://github.com/ocaml/opam-repository/tree/master/packages/ppx_defer/ppx_defer.0.3.0/opam |
No package is dependent


