Error monad
Closes #4 (closed)
The error monad produce a trace of errors, to store at the same time low level errors and high levelS.
For instance:
_build/install/default/bin/ometrics check -h gdfgsd
Error: File "lib/git.ml", line 35, characters 13-20:
"git -C /home/valentin/Documents/ometrics/ometrics rev-list gdfgsd..HEAD --topo-order --reverse" exited with WEXITED 128
File "lib/git.ml", line 114, characters 7-14:
Failed to find commits after "gdfgsd"
Exceptions could have been enough I believe but it will be better to debug this monad.
val run : 'a mresult -> 'a
Extract result from 'a mresult
or print the trace and exit.