On Sunday, 11 January 2015 at 13:25:59 UTC, ketmar via Digitalmars-d wrote:
On Sun, 11 Jan 2015 13:06:26 +0000
Dicebot via Digitalmars-d <digitalmars-d@puremagic.com> wrote:

What is your opinion of approach advertised by various functional languages and now also Rust? Where you return error code packed with actual data and can't access data without visiting error code too, compiler simply won't allow it.
from my POV it trashes logic with error checking. hey, i don't care if *each* `fwrite()` is successfull, i only care if all of them are ok or
at least one (any one) failed!

This is where monads and applicatives shine. You can describe the general logic (run 'till first error or collect and combine all errors or something else) in one place and then apply this way of error handling throughout with minimal code, and you can often change the error handling approach later just by changing a type, without editing actual function source code.

Reply via email to