On Monday, 12 January 2015 at 11:09:01 UTC, Walter Bright wrote:
On 1/12/2015 3:02 AM, Tobias Pankrath wrote:
As far as I understand is, it requires each component to
settle on the same
discriminated union that packs the error and result, which he
calles Result but
is usually Choice in F#.
Now in D we use the opDot to chain components, which works
since we have UFCS.
In F# there a simply three different opDots: >>, >>= and >=>
which take care of
the adaption.
Or we could just use exceptions, which require none of that.
.. and have many other issues instead :)
Right now my experience from some quick experiments with Rust
seems to indicate that it is a good sort inconvenience for
medium-to-big applications as it forces you to explicitly
consider all possible exceptional paths possible in application
without and does not add any runtime overhead.
For smaller / less important programs verbosity does seem
inconvenient in an unpleasant way indeed.