Jump to content

Talk:Option type

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia

Option vs. nullable

[edit]

What's the difference between an option type and a nullable type? 173.77.229.136 (talk) 01:09, 10 December 2012 (UTC)[reply]

Nothing, in theory. However, languages calling this feature "nullable" are more likely to have magic in place for treating a Foo as a Nullable<Foo> (and vice versa where that's easily possible), while languages referring to it as "option" are more likely to consider those types completely distinct and always require explicit packing/unpacking/lifting. It's a mindset thing. 46.114.0.234 (talk) 15:05, 23 April 2014 (UTC)[reply]
An option type is a box that contains either a value or no value, a nullable type is a type that supports a special value, null, which is treated as if it were that type but represents null. Some languages merge these two concepts. —ajf (talk) 21:50, 29 April 2017 (UTC)[reply]
I'd make the case that a nullable type can either be 'null' or 'not null', an optional type can have *three* states - 'unknown', 'null' or 'not null'. Javascript is a good example of this with its 'undefined' vs 'null'. There are certain cases where it's important to differentiate between where the user passed an explicitly null value, and where they didn't pass a value at all.--MrWizcat (talk) 16:31, 3 December 2019 (UTC)[reply]

C++

[edit]

For poor users of C++ there's a straw in the form of Boost.Optional library. I'm not sure if it survives notability standards for this article, but probably it is worth mentioning. --46.164.144.162 (talk) — Preceding undated comment added 14:33, 14 August 2014 (UTC)[reply]

Maybe may be

[edit]

There is the sentence "In Type theory, it may be written as xy" in the introductory part. As "it" is meant to be substituted by "Maybe", this is at least fun, perhaps confusing: "Maybe may be written [...]". I would just like to know if the author intended this joke. --Strabcat (talk) 00:13, 13 January 2015 (UTC)[reply]

Too many examples/too much code

[edit]

It appears to me that this article is less encyclopedic and more of a mixed documentation for the languages. There is no need to list implementations of the Maybe type for every single language that has it, and no need to write a large number of examples. One example in one language should be good enough to demonstrate its use. This should be an article about the Option type itself, not about the languages that have the Option type. Besides, there is no text accompanying the code, so it's not really very clear anyway.

I think that the examples section should be reduced to a single example and the implementation section should be reduced to two/three important distinct styles (one could be a functional Haskell-style language, the other some object oriented language like Scala.)

Please give your input on this. — Preceding unsigned comment added by FOSS-the-world (talkcontribs) 09:29, 18 August 2019 (UTC)[reply]

I like the code examples... they help discover-ability given that different programming languages use different terminology. 2A02:1812:143C:5C00:6642:F2C2:ADA5:6414 (talk) 09:12, 14 September 2021 (UTC)Andrew[reply]

Java example code - Pattern matching?

[edit]

I fail to see any pattern matching as advertised in the sample Java 8 code. — Preceding unsigned comment added by 82.24.219.85 (talk) 13:49, 30 September 2019 (UTC)[reply]