1234567891011121314151617181920212223242526272829303132333435363738includeStdlib(* At Jane Street, the OCaml stdlib is patched to define [Pervasives.raise] as the
["%reraise"] primitive. We do this as the compiler is currently not good enough at
automatically detecting reraise [1]. We patch the stdlib so that everything is
affected, including libraries defined before base such as sexplib or non Jane Street
libraries.
We need this definition so that this implementation can match its interface with the
patched stdlib and with the original one.
[[1] http://caml.inria.fr/mantis/view.php?id=6556
*)externalraise:exn->'a="%reraise"externalignore:('a[@local_opt])->unit="%ignore"[%%ifocaml_version<(4,12,0)]let__FUNCTION__="<__FUNCTION__ not supported before OCaml 4.12>"[%%endif]external__LOC_OF__:('a[@local_opt])->(string*'a[@local_opt])="%loc_LOC"external__LINE_OF__:('a[@local_opt])->(int*'a[@local_opt])="%loc_LINE"external__POS_OF__:('a[@local_opt])->((string*int*int*int)*'a[@local_opt])="%loc_POS"external(|>):'a->(('a->'b)[@local_opt])->'b="%revapply"external(@@):(('a->'b)[@local_opt])->'a->'b="%apply"externalint_of_char:(char[@local_opt])->int="%identity"externalformat_of_string:(('a,'b,'c,'d,'e,'f)format6[@local_opt])->(('a,'b,'c,'d,'e,'f)format6[@local_opt])="%identity"