add todos in CCError

This commit is contained in:
Simon Cruanes 2015-05-27 14:03:10 +02:00
parent e68b951db5
commit e509ba5461

View file

@ -43,16 +43,24 @@ let return x = `Ok x
let fail s = `Error s let fail s = `Error s
(* TODO: optional argument for printing stacktrace? *)
let fail_printf format = let fail_printf format =
let buf = Buffer.create 16 in let buf = Buffer.create 16 in
Printf.kbprintf Printf.kbprintf
(fun buf -> fail (Buffer.contents buf)) (fun buf -> fail (Buffer.contents buf))
buf format buf format
(* TODO: easy ways to print backtrace/stack *)
(* TODO: something of type [ ('a -> 'b) -> ('err -> 'b) -> ('a, 'err) t -> 'b]
to make it easier to switch into a regular variant if it happens *)
let _printers = ref [] let _printers = ref []
let register_printer p = _printers := p :: !_printers let register_printer p = _printers := p :: !_printers
(* FIXME: just use {!Printexc.register_printer} instead? *)
let of_exn e = let of_exn e =
let buf = Buffer.create 15 in let buf = Buffer.create 15 in
let rec try_printers l = match l with let rec try_printers l = match l with