On Tuesday, 10 December 2013 at 22:10:49 UTC, Jesse Phillips wrote:
On Tuesday, 10 December 2013 at 17:28:26 UTC, Andrei Alexandrescu wrote:
I talked to a programmer who knows Scala (among others) and he mentioned the usefulness of the Option type - a zero or one element collection (range in D terminology). Here's an article discussing it: http://danielwestheide.com/blog/2012/12/19/the-neophytes-guide-to-scala-part-5-the-option-type.html

We have only(x) (http://dlang.org/phobos/std_range.html#.only) to be a collection of exactly one value, but not a type for "a value of type T or nothing at all". Should we follow Scala's example and add it?


Andrei

Having a easy way to return a single element range which may be empty is probably a good idea. It could make a good change to style, but I don't use Option in other languages. For that reason I'm not sure Option range probably doesn't have the same semantics as expected by users of other languages.

That's a good point. `Option` is usually used with pattern matching, so the value is used in a clause that is only executed if it has a value(http://en.wikipedia.org/wiki/Option_type#Examples). This can easily be implemented in D: https://gist.github.com/someboddy/7902770

Reply via email to