On Sunday, 14 September 2014 at 20:10:27 UTC, Dmitry Olshansky
wrote:
13-Sep-2014 23:39, Andrei Alexandrescu пишет:
On 9/13/14, 8:36 AM, bearophile wrote:
This is a little Haskell program that uses the Maybe type
constructor:
[snip]
As others noted, I think we need a kind of range with either
zero or one
element. Also, the range would have an "exception" property
that returns
null if the operation was successful (and the element is
there) or
whatever exception produced the result. E.g.:
I think it may be a bit too much to mix "exception or ok" and
"1 or none" into a single type. Otherwise I agree.
For precedents e.g. Scala has Option!T (or rather Option[T])
and Try[T] to denote Some!T or None, and Success!T or
Failure(Throwable) respectively. And then uses composition to
cover all of potential combinations.
I agree with Dmitry - mixing too many independent concepts into
one entity will make it less widely usable and create false
expectations. Better to keep such things independent.