You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
Forgive me for butting-in without understanding the context, but this seems a general-enough of an issue:
Did the computation manage to compute a value?
A) Yes. Then status is "Ok". And attached is a pair of 1) computed value; 2) a measure of quality of the computed value (or any warning, etc.) which can be used by the caller to determine whether to continue with the value.
B) No. Then status is "Error" and attached is the reason for failure.
To me, this model has pretty clear semantics, whereas a dedicated "Warning" status is ambiguous - "Was a value computed? If yes, can I use that value? If so, then why is the status not Ok? If not, then why not an Error?".
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.
The text was updated successfully, but these errors were encountered: