I would like to use Result.t in Core to notify a user about issues during the analysis. Yet, some issues may be acceptable and should also return a result --hitting the maximum number of iterations or a large slope in the optimization procedure both return acceptable results but in certain situations should be looked at further for numerical and stability issues.
The Result.t module does not cover warnings. Should Result module be re-implemented to a triple of type,
('ok,'warn,'err) t = | Ok of 'ok | Warning of 'ok * 'warn | Error of 'err
or is there a module that can take care of these issues?
Sure, 'err types could contain the correct value, but it's an abuse of the intent of the module --- since it's not an error state. Also, what happens when these issues are returned in the 'line-search' function used by the BFGS? This flow of errors through a computation (Monad) would apply to combinatorial optimization procedures extensively as well, since my hope is that they are implemented in a way such that they can be composed easily.
I would like to use Result.t in Core to notify a user about issues during the analysis. Yet, some issues may be acceptable and should also return a result --hitting the maximum number of iterations or a large slope in the optimization procedure both return acceptable results but in certain situations should be looked at further for numerical and stability issues.
The Result.t module does not cover warnings. Should Result module be re-implemented to a triple of type,
('ok,'warn,'err) t = | Ok of 'ok | Warning of 'ok * 'warn | Error of 'error is there a module that can take care of these issues?
Sure, 'err types could contain the correct value, but it's an abuse of the intent of the module --- since it's not an error state. Also, what happens when these issues are returned in the 'line-search' function used by the BFGS? This flow of errors through a computation (Monad) would apply to combinatorial optimization procedures extensively as well, since my hope is that they are implemented in a way such that they can be composed easily.