Knowledge (XXG)

Option type

Source 📝

2895: 1897: 1373: 1297: 1176: 709: 73: 434: 380: 339: 175: 32: 273:
that represents encapsulation of an optional value; e.g., it is used as the return type of functions which may or may not return a meaningful value when they are applied. It consists of a constructor which either is empty (often named
549: 589: 569: 4238: 4609: 4243: 3908: 4233: 4228: 4216: 4117: 390: 495: 477: 415: 366: 236: 218: 156: 59: 444: 185: 603: 4660: 4367: 614: 4484: 4289: 4221: 4183: 1534: 1404: 94: 137: 4384: 4314: 4162: 2970: 2605: 1733: 352: 109: 90: 45: 4639: 2347: 740: 298: 459: 200: 4394: 4262: 4002: 3220: 1928: 1328: 766: 116: 455: 196: 83: 4572: 4524: 4436: 4414: 4409: 4337: 4203: 4446: 4110: 123: 4599: 4514: 270: 4342: 4198: 4157: 4152: 309:). The core difference between option types and nullable types is that option types support nesting (e.g. 254: 4332: 4307: 105: 3900: 4670: 4134: 250: 571:, an option type adds exactly one additional value (the empty value) to the set of valid values for 4665: 4604: 4582: 4509: 4362: 4354: 4274: 4103: 3869: 4587: 4567: 4519: 4494: 4279: 4248: 3962: 3874: 515: 4474: 4404: 4379: 4193: 4188: 691:
The monadic nature of the option type is useful for efficiently tracking failure and errors.
4619: 4504: 4302: 3879: 358: 51: 4075: 4026: 4624: 4489: 4441: 4374: 4050: 130: 4577: 4399: 4389: 4297: 3984: 1207: 607: 574: 554: 297:
A distinct, but related concept outside of functional programming, which is popular in
3929: 2894: 1896: 1372: 1296: 1175: 708: 4654: 4499: 3864: 302: 595:, option types can be expressed as the tagged union of the encapsulated type plus a 4456: 4431: 3859: 592: 20: 4634: 4629: 4479: 4253: 3854: 2926: 621: 509: 258: 72: 4539: 4534: 4451: 4419: 4324: 4267: 3954: 4614: 4592: 4549: 4544: 4211: 4167: 4126: 596: 3907:. Sum types. "We could have encoded Maybe as: data Maybe a = Either () a". 4529: 591:. This is reflected in programming by the fact that in languages having 462:. Statements consisting only of original research should be removed. 203:. Statements consisting only of original research should be removed. 1127:
Since C++17, the option type is defined in the standard library as
2136: 3494:// Set up an allocator, and warn if we forget to free any memory. 4147: 16:
Encapsulation of an optional value in programming or type theory
4099: 4142: 2889: 1891: 1367: 1291: 1170: 703: 427: 373: 332: 168: 66: 25: 4095: 551:. This expresses the fact that for a given set of values in 3930:"A Fistful of Monads - Learn You a Haskell for Great Good!" 2906: 1908: 1384: 1308: 1187: 720: 451: 397: 192: 577: 557: 518: 4558: 4467: 4353: 4323: 4288: 4176: 4133: 3245: 3021: 2976: 2932: 2656: 2626: 2611: 2353: 2142: 1739: 1540: 1334: 1213: 1128: 754: 750: 746: 97:. Unsourced material may be challenged and removed. 3840:showValue(allocator, full) -> The value is: 42 583: 563: 543: 19:For families of option contracts in finance, see 282:), or which encapsulates the original data type 2931:In Standard ML, the option type is defined as 4111: 3225:In Zig, add ? before the type name like 8: 3812:"showValue(allocator, empty) -> {s} 1907: with: the definition. You can help by 1383: with: the definition. You can help by 367:Learn how and when to remove these messages 60:Learn how and when to remove these messages 4118: 4104: 4096: 3843:showValue(allocator, empty) -> No value 3725:"showValue(allocator, full) -> {s} 2905: with: example usage. You can help by 1539:In Haskell, the option type is defined as 1307: with: example usage. You can help by 1186: with: example usage. You can help by 719: with: example usage. You can help by 576: 556: 523: 517: 496:Learn how and when to remove this message 478:Learn how and when to remove this message 416:Learn how and when to remove this message 237:Learn how and when to remove this message 219:Learn how and when to remove this message 157:Learn how and when to remove this message 2975:In Swift, the option type is defined as 2610:In Scala, the option type is defined as 2141:In OCaml, the option type is defined as 1738:In Idris, the option type is defined as 617:containing either one or zero elements. 3891: 2591:show_value(full) -> The value is: 42 2352:In Rust, the option type is defined as 3590:// Prepare the standard output stream. 3206:showValue(full) -> The value is: 42 2877:showValue(full) -> The value is: 42 2566:"show_value(empty) -> {}" 2333:show_value full -> The value is: 42 2122:showValue(full) -> The Value is: 42 1333:In Elm, the option type is defined as 1212:In Coq, the option type is defined as 771:In ATS, the option type is defined as 2542:"show_value(full) -> {}" 1879:showValue full -> The value is: 42 1719:showValue full -> The value is: 42 1520:showValue full -> The value is: 42 930:"share/atspre_staload.hats" 613:An option type can also be seen as a 387:This section may contain information 317:), while nullable types do not (e.g. 7: 1513:"showValue empty -> %s" 686:-- Succeeds when both monads succeed 656:-- Fails if the previous monad fails 95:adding citations to reliable sources 3905:Bartosz Milewski's Programming Cafe 2314:"show_value empty -> " 2100:"showValue(empty) -> " 1498:"showValue full -> %s" 2293:"show_value full -> " 2079:"showValue(full) -> " 1868:"showValue empty -> " 1703:"showValue empty -> " 745:In Agda, the option type is named 606:, option types are related to the 14: 1858:"showValue full -> " 1685:"showValue full -> " 348:This section has multiple issues. 41:This article has multiple issues. 4003:"6 Predefined Types and Classes" 3985:"Maybe · An Introduction to Elm" 3899:Milewski, Bartosz (2015-01-13). 2893: 2594:show_value(empty) -> No value 1895: 1371: 1295: 1174: 707: 432: 378: 337: 173: 71: 30: 4076:"Apple Developer Documentation" 4051:"Option in core::option - Rust" 3965:from the original on 2021-12-20 3953:Hutton, Graham (Nov 25, 2017). 3911:from the original on 2019-08-18 3209:showValue(empty) -> No value 2880:showValue(empty) -> No value 2336:show_value empty -> No value 2125:showValue(empty) -> No value 1092:"show_value empty → " 638:-- Wraps the value into a maybe 356:or discuss these issues on the 82:needs additional citations for 49:or discuss these issues on the 2846:s"showValue(empty) -> 1882:showValue empty -> No value 1722:showValue empty -> No value 1535:Haskell (programming language) 1523:showValue empty -> No value 1405:F Sharp (programming language) 1071:"show_value full → " 1: 4184:Arbitrary-precision or bignum 4027:"OCaml library : Option" 3901:"Simple Algebraic Data Types" 3293:clause is evaluated if it is 3229:to make it an optional type. 3178:"showValue(empty) -> 2813:s"showValue(full) -> 3428:"The value is: {}" 3148:"showValue(full) -> 3020:but is generally written as 2971:Swift (programming language) 2606:Scala (programming language) 2473:"The value is: {}" 1734:Idris (programming language) 1447:"The value is: %d" 2348:Rust (programming language) 1117:show_value empty → No value 741:Agda (programming language) 604:Curry–Howard correspondence 458:the claims made and adding 299:object-oriented programming 199:the claims made and adding 4687: 3221:Zig (programming language) 3218: 2968: 2924: 2603: 2345: 2230:"The value is: " 2134: 2010:"The value is: " 1929:Nim (programming language) 1926: 1731: 1613:"The value is: " 1532: 1402: 1329:Elm (programming language) 1326: 1205: 767:ATS (programming language) 764: 738: 620:The option type is also a 18: 4525:Strongly typed identifier 1799:"The value is " 544:{\displaystyle A^{?}=A+1} 393:to the article's subject. 3934:www.learnyouahaskell.com 3837: 3299: 3203: 3031: 2874: 2669: 2588: 2396: 2330: 2179: 2119: 1932: 1876: 1763: 1716: 1568: 1517: 1408: 1111: 921: 773: 626: 512:, it may be written as: 4600:Parametric polymorphism 3626:// Perform our example. 3518:GeneralPurposeAllocator 4661:Functional programming 3236:can be captured in an 1863:showValuefull putStrLn 869:option_t0ype_bool_type 779:option_t0ype_bool_type 585: 565: 545: 255:functional programming 3959:Computerphile Youtube 3219:Further information: 2969:Further information: 2925:Further information: 2732:s"The value is: 2625:, a type extended by 2604:Further information: 2346:Further information: 2135:Further information: 1927:Further information: 1732:Further information: 1533:Further information: 1403:Further information: 1327:Further information: 1206:Further information: 765:Further information: 739:Further information: 586: 566: 546: 391:important or relevant 251:programming languages 3464:"No value" 3103:"No value" 3082:"The value is: 2720:"No value" 2446:"No value" 2209:"No value" 2031:"No value" 1809:"No value" 1628:"No value" 1456:"No value" 1114:show_value full → 42 987:"No value" 575: 555: 516: 398:improve this section 311:Maybe (Maybe String) 305:(often expressed as 91:improve this article 4605:Primitive data type 4510:Recursive data type 4363:Algebraic data type 4239:Quadruple precision 4080:developer.apple.com 3870:Null object pattern 3244:statement, such as 329:Theoretical aspects 4568:Abstract data type 4249:Extended precision 4208:Reduced precision 3989:guide.elm-lang.org 3955:"What is a Monad?" 3875:Exception handling 581: 561: 541: 443:possibly contains 184:possibly contains 4648: 4647: 4380:Associative array 4244:Octuple precision 4055:doc.rust-lang.org 2923: 2922: 1925: 1924: 1401: 1400: 1325: 1324: 1204: 1203: 737: 736: 584:{\displaystyle A} 564:{\displaystyle A} 506: 505: 498: 488: 487: 480: 445:original research 426: 425: 418: 371: 247: 246: 239: 229: 228: 221: 186:original research 167: 166: 159: 141: 64: 4678: 4620:Type constructor 4505:Opaque data type 4437:Record or Struct 4234:Double precision 4229:Single precision 4120: 4113: 4106: 4097: 4090: 4089: 4087: 4086: 4072: 4066: 4065: 4063: 4062: 4047: 4041: 4040: 4038: 4037: 4023: 4017: 4016: 4014: 4013: 3999: 3993: 3992: 3981: 3975: 3974: 3972: 3970: 3950: 3944: 3943: 3941: 3940: 3926: 3920: 3919: 3917: 3916: 3896: 3880:Pattern matching 3844: 3841: 3834: 3831: 3828: 3825: 3822: 3819: 3816: 3813: 3810: 3807: 3804: 3801: 3798: 3795: 3792: 3789: 3786: 3783: 3780: 3777: 3774: 3771: 3768: 3765: 3762: 3759: 3756: 3753: 3750: 3747: 3744: 3741: 3738: 3735: 3732: 3729: 3726: 3723: 3720: 3717: 3714: 3711: 3708: 3705: 3702: 3699: 3696: 3693: 3690: 3687: 3684: 3681: 3678: 3675: 3672: 3669: 3666: 3663: 3660: 3657: 3654: 3651: 3648: 3645: 3642: 3639: 3636: 3633: 3630: 3627: 3624: 3621: 3618: 3615: 3612: 3609: 3606: 3603: 3600: 3597: 3594: 3591: 3588: 3585: 3582: 3579: 3576: 3573: 3570: 3567: 3564: 3561: 3558: 3555: 3552: 3549: 3546: 3543: 3540: 3537: 3534: 3531: 3528: 3525: 3522: 3519: 3516: 3513: 3510: 3507: 3504: 3501: 3498: 3495: 3492: 3489: 3486: 3483: 3480: 3477: 3474: 3471: 3468: 3465: 3462: 3459: 3456: 3453: 3450: 3447: 3444: 3441: 3438: 3435: 3432: 3429: 3426: 3423: 3420: 3417: 3414: 3411: 3408: 3405: 3402: 3399: 3396: 3393: 3390: 3387: 3384: 3381: 3378: 3375: 3372: 3369: 3366: 3363: 3360: 3357: 3354: 3351: 3348: 3345: 3342: 3339: 3336: 3333: 3330: 3327: 3324: 3321: 3318: 3315: 3312: 3309: 3306: 3303: 3296: 3288: 3287: 3284: 3281: 3278: 3275: 3272: 3269: 3266: 3263: 3260: 3257: 3254: 3251: 3248: 3228: 3210: 3207: 3200: 3197: 3194: 3191: 3188: 3185: 3182: 3179: 3176: 3173: 3170: 3167: 3164: 3161: 3158: 3155: 3152: 3149: 3146: 3143: 3140: 3137: 3134: 3131: 3128: 3125: 3122: 3119: 3116: 3113: 3110: 3107: 3104: 3101: 3098: 3095: 3092: 3089: 3086: 3083: 3080: 3077: 3074: 3071: 3068: 3065: 3062: 3059: 3056: 3053: 3050: 3047: 3044: 3041: 3038: 3035: 3028: 3027: 3024: 3019: 3018: 3015: 3012: 3009: 3006: 3003: 3000: 2997: 2994: 2991: 2988: 2985: 2982: 2979: 2960: 2959: 2956: 2953: 2950: 2947: 2944: 2941: 2938: 2935: 2918: 2915: 2897: 2890: 2881: 2878: 2871: 2868: 2865: 2862: 2859: 2856: 2853: 2850: 2847: 2844: 2841: 2838: 2835: 2832: 2829: 2826: 2823: 2820: 2817: 2814: 2811: 2808: 2805: 2802: 2799: 2796: 2793: 2790: 2787: 2784: 2781: 2778: 2775: 2772: 2769: 2766: 2763: 2760: 2757: 2754: 2751: 2748: 2745: 2742: 2739: 2736: 2733: 2730: 2727: 2724: 2721: 2718: 2715: 2712: 2709: 2706: 2703: 2700: 2697: 2694: 2691: 2688: 2685: 2682: 2679: 2676: 2673: 2666: 2665: 2662: 2659: 2654: 2653: 2650: 2647: 2644: 2641: 2638: 2635: 2632: 2629: 2624: 2623: 2620: 2617: 2614: 2595: 2592: 2585: 2582: 2579: 2576: 2573: 2570: 2567: 2564: 2561: 2558: 2555: 2552: 2549: 2546: 2543: 2540: 2537: 2534: 2531: 2528: 2525: 2522: 2519: 2516: 2513: 2510: 2507: 2504: 2501: 2498: 2495: 2492: 2489: 2486: 2483: 2480: 2477: 2474: 2471: 2468: 2465: 2462: 2459: 2456: 2453: 2450: 2447: 2444: 2441: 2438: 2435: 2432: 2429: 2425: 2422: 2419: 2416: 2413: 2409: 2406: 2403: 2400: 2393: 2392: 2389: 2386: 2383: 2380: 2377: 2374: 2371: 2368: 2365: 2362: 2359: 2356: 2337: 2334: 2327: 2324: 2321: 2318: 2315: 2312: 2309: 2306: 2303: 2300: 2297: 2294: 2291: 2288: 2285: 2282: 2279: 2276: 2273: 2270: 2267: 2264: 2261: 2258: 2255: 2252: 2249: 2246: 2243: 2240: 2237: 2234: 2231: 2228: 2225: 2222: 2219: 2216: 2213: 2210: 2207: 2204: 2201: 2198: 2195: 2192: 2189: 2186: 2183: 2176: 2175: 2172: 2169: 2166: 2163: 2160: 2157: 2154: 2151: 2148: 2145: 2126: 2123: 2116: 2113: 2110: 2107: 2104: 2101: 2098: 2095: 2092: 2089: 2086: 2083: 2080: 2077: 2074: 2071: 2068: 2065: 2062: 2059: 2056: 2053: 2050: 2047: 2044: 2041: 2038: 2035: 2032: 2029: 2026: 2023: 2020: 2017: 2014: 2011: 2008: 2005: 2002: 1999: 1996: 1993: 1990: 1987: 1984: 1981: 1978: 1975: 1972: 1969: 1966: 1963: 1960: 1957: 1954: 1951: 1948: 1945: 1942: 1939: 1936: 1920: 1917: 1899: 1892: 1883: 1880: 1872: 1869: 1866: 1862: 1859: 1856: 1852: 1849: 1845: 1842: 1839: 1836: 1832: 1829: 1826: 1822: 1819: 1816: 1813: 1810: 1807: 1803: 1800: 1797: 1793: 1790: 1786: 1782: 1779: 1776: 1773: 1770: 1767: 1760: 1758: 1755: 1752: 1749: 1745: 1742: 1723: 1720: 1713: 1710: 1707: 1704: 1701: 1698: 1695: 1692: 1689: 1686: 1683: 1680: 1677: 1674: 1671: 1668: 1665: 1662: 1659: 1656: 1653: 1650: 1647: 1644: 1641: 1638: 1635: 1632: 1629: 1626: 1623: 1620: 1617: 1614: 1611: 1608: 1605: 1602: 1599: 1596: 1593: 1590: 1587: 1584: 1581: 1578: 1575: 1572: 1565: 1564: 1561: 1558: 1555: 1552: 1549: 1546: 1543: 1524: 1521: 1514: 1511: 1508: 1505: 1502: 1499: 1496: 1493: 1490: 1487: 1484: 1481: 1478: 1475: 1472: 1469: 1466: 1463: 1460: 1457: 1454: 1451: 1448: 1445: 1442: 1439: 1436: 1433: 1430: 1427: 1424: 1421: 1418: 1415: 1412: 1396: 1393: 1375: 1368: 1359: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1320: 1317: 1299: 1292: 1283: 1282: 1279: 1276: 1273: 1270: 1267: 1264: 1261: 1258: 1255: 1252: 1249: 1246: 1243: 1240: 1237: 1234: 1231: 1228: 1225: 1222: 1219: 1216: 1199: 1196: 1178: 1171: 1162: 1161: 1158: 1155: 1152: 1149: 1146: 1143: 1140: 1137: 1134: 1131: 1118: 1115: 1108: 1105: 1102: 1099: 1096: 1093: 1090: 1087: 1084: 1081: 1078: 1075: 1072: 1069: 1066: 1063: 1060: 1057: 1054: 1051: 1048: 1045: 1042: 1039: 1036: 1033: 1030: 1027: 1024: 1021: 1018: 1015: 1012: 1009: 1006: 1003: 1000: 997: 994: 991: 988: 985: 982: 979: 976: 973: 970: 967: 964: 961: 958: 955: 952: 949: 946: 943: 940: 937: 934: 931: 928: 925: 918: 915: 912: 909: 906: 903: 900: 897: 894: 891: 888: 885: 882: 879: 876: 873: 870: 867: 864: 861: 858: 855: 852: 849: 846: 843: 840: 837: 834: 831: 828: 825: 822: 819: 816: 813: 810: 807: 804: 801: 798: 795: 792: 789: 786: 783: 780: 777: 756: 752: 748: 732: 729: 711: 704: 687: 684: 681: 678: 675: 672: 669: 666: 663: 660: 657: 654: 651: 648: 645: 642: 639: 636: 633: 630: 608:annihilation law 590: 588: 587: 582: 570: 568: 567: 562: 550: 548: 547: 542: 528: 527: 501: 494: 483: 476: 472: 469: 463: 460:inline citations 436: 435: 428: 421: 414: 410: 407: 401: 382: 381: 374: 363: 341: 340: 333: 324: 320: 316: 312: 308: 293: 289: 285: 281: 277: 271:polymorphic type 242: 235: 224: 217: 213: 210: 204: 201:inline citations 177: 176: 169: 162: 155: 151: 148: 142: 140: 99: 75: 67: 56: 34: 33: 26: 4686: 4685: 4681: 4680: 4679: 4677: 4676: 4675: 4651: 4650: 4649: 4644: 4625:Type conversion 4560: 4554: 4490:Enumerated type 4463: 4349: 4343:null-terminated 4319: 4284: 4172: 4129: 4124: 4094: 4093: 4084: 4082: 4074: 4073: 4069: 4060: 4058: 4049: 4048: 4044: 4035: 4033: 4025: 4024: 4020: 4011: 4009: 4007:www.haskell.org 4001: 4000: 3996: 3983: 3982: 3978: 3968: 3966: 3952: 3951: 3947: 3938: 3936: 3928: 3927: 3923: 3914: 3912: 3898: 3897: 3893: 3888: 3851: 3846: 3845: 3842: 3839: 3836: 3835: 3832: 3829: 3826: 3823: 3820: 3817: 3814: 3811: 3808: 3805: 3802: 3799: 3796: 3793: 3790: 3787: 3784: 3781: 3778: 3775: 3772: 3769: 3766: 3763: 3760: 3757: 3754: 3751: 3748: 3745: 3742: 3739: 3736: 3733: 3730: 3727: 3724: 3721: 3718: 3715: 3712: 3709: 3706: 3703: 3700: 3697: 3694: 3691: 3688: 3685: 3682: 3679: 3676: 3673: 3670: 3667: 3664: 3661: 3658: 3655: 3652: 3649: 3646: 3643: 3640: 3637: 3634: 3631: 3628: 3625: 3622: 3619: 3616: 3613: 3610: 3607: 3604: 3601: 3598: 3595: 3592: 3589: 3586: 3583: 3580: 3577: 3574: 3571: 3568: 3565: 3562: 3559: 3556: 3553: 3550: 3547: 3544: 3541: 3538: 3535: 3532: 3529: 3526: 3523: 3520: 3517: 3514: 3511: 3508: 3505: 3502: 3499: 3496: 3493: 3490: 3487: 3484: 3481: 3478: 3475: 3472: 3469: 3466: 3463: 3460: 3457: 3454: 3451: 3448: 3445: 3442: 3439: 3436: 3433: 3430: 3427: 3424: 3421: 3418: 3415: 3412: 3409: 3406: 3403: 3400: 3397: 3394: 3391: 3388: 3385: 3382: 3379: 3376: 3373: 3370: 3367: 3364: 3361: 3358: 3355: 3352: 3349: 3346: 3343: 3340: 3337: 3334: 3331: 3328: 3325: 3322: 3319: 3317:"std" 3316: 3313: 3310: 3307: 3304: 3301: 3294: 3285: 3282: 3279: 3276: 3273: 3270: 3267: 3264: 3261: 3258: 3255: 3252: 3249: 3246: 3235: 3226: 3223: 3217: 3212: 3211: 3208: 3205: 3202: 3201: 3198: 3195: 3192: 3189: 3186: 3183: 3180: 3177: 3174: 3171: 3168: 3165: 3162: 3159: 3156: 3153: 3150: 3147: 3144: 3141: 3138: 3135: 3132: 3129: 3126: 3123: 3120: 3117: 3114: 3111: 3108: 3105: 3102: 3099: 3096: 3093: 3090: 3087: 3084: 3081: 3078: 3075: 3072: 3069: 3066: 3063: 3060: 3057: 3054: 3051: 3048: 3045: 3042: 3039: 3036: 3033: 3025: 3022: 3016: 3013: 3010: 3007: 3004: 3001: 2998: 2995: 2992: 2989: 2986: 2983: 2980: 2977: 2973: 2967: 2957: 2954: 2951: 2948: 2945: 2942: 2939: 2936: 2933: 2929: 2919: 2913: 2910: 2903:needs expansion 2888: 2883: 2882: 2879: 2876: 2873: 2872: 2869: 2866: 2863: 2860: 2857: 2854: 2851: 2848: 2845: 2842: 2839: 2836: 2833: 2830: 2827: 2824: 2821: 2818: 2815: 2812: 2809: 2806: 2803: 2800: 2797: 2794: 2791: 2788: 2785: 2782: 2779: 2776: 2773: 2770: 2767: 2764: 2761: 2758: 2755: 2752: 2749: 2746: 2743: 2740: 2737: 2734: 2731: 2728: 2725: 2722: 2719: 2716: 2713: 2710: 2707: 2704: 2701: 2698: 2695: 2692: 2689: 2686: 2683: 2680: 2677: 2674: 2671: 2663: 2660: 2657: 2651: 2648: 2645: 2642: 2639: 2636: 2633: 2630: 2627: 2621: 2618: 2615: 2612: 2608: 2602: 2597: 2596: 2593: 2590: 2587: 2586: 2583: 2580: 2577: 2574: 2571: 2568: 2565: 2562: 2559: 2556: 2553: 2550: 2547: 2544: 2541: 2538: 2535: 2532: 2529: 2526: 2523: 2520: 2517: 2514: 2511: 2508: 2505: 2502: 2499: 2496: 2493: 2490: 2487: 2484: 2481: 2478: 2475: 2472: 2469: 2466: 2463: 2460: 2457: 2454: 2451: 2448: 2445: 2442: 2439: 2436: 2433: 2430: 2427: 2423: 2420: 2417: 2414: 2411: 2407: 2404: 2401: 2398: 2390: 2387: 2384: 2381: 2378: 2375: 2372: 2369: 2366: 2363: 2360: 2357: 2354: 2350: 2344: 2339: 2338: 2335: 2332: 2329: 2328: 2325: 2322: 2319: 2316: 2313: 2310: 2307: 2304: 2301: 2298: 2295: 2292: 2289: 2286: 2283: 2280: 2277: 2274: 2271: 2268: 2265: 2262: 2259: 2256: 2253: 2250: 2247: 2244: 2241: 2238: 2235: 2232: 2229: 2226: 2223: 2220: 2217: 2214: 2211: 2208: 2205: 2202: 2199: 2196: 2193: 2190: 2187: 2184: 2181: 2173: 2170: 2167: 2164: 2161: 2158: 2155: 2152: 2149: 2146: 2143: 2139: 2133: 2128: 2127: 2124: 2121: 2118: 2117: 2114: 2111: 2108: 2105: 2102: 2099: 2096: 2093: 2090: 2087: 2084: 2081: 2078: 2075: 2072: 2069: 2066: 2063: 2060: 2057: 2054: 2051: 2048: 2045: 2042: 2039: 2036: 2033: 2030: 2027: 2024: 2021: 2018: 2015: 2012: 2009: 2006: 2003: 2000: 1997: 1994: 1991: 1988: 1985: 1982: 1979: 1976: 1973: 1970: 1967: 1964: 1961: 1958: 1955: 1952: 1949: 1946: 1943: 1940: 1937: 1934: 1931: 1921: 1915: 1912: 1905:needs expansion 1890: 1885: 1884: 1881: 1878: 1875: 1874: 1873:showValueempty 1870: 1867: 1864: 1860: 1857: 1854: 1850: 1847: 1843: 1840: 1837: 1834: 1830: 1827: 1824: 1820: 1817: 1814: 1811: 1808: 1805: 1801: 1798: 1795: 1791: 1788: 1784: 1780: 1777: 1774: 1771: 1768: 1765: 1756: 1753: 1750: 1747: 1743: 1740: 1736: 1730: 1725: 1724: 1721: 1718: 1715: 1714: 1711: 1708: 1705: 1702: 1699: 1696: 1693: 1690: 1687: 1684: 1681: 1678: 1675: 1672: 1669: 1666: 1663: 1660: 1657: 1654: 1651: 1648: 1645: 1642: 1639: 1636: 1633: 1630: 1627: 1624: 1621: 1618: 1615: 1612: 1609: 1606: 1603: 1600: 1597: 1594: 1591: 1588: 1585: 1582: 1579: 1576: 1573: 1570: 1562: 1559: 1556: 1553: 1550: 1547: 1544: 1541: 1537: 1531: 1526: 1525: 1522: 1519: 1516: 1515: 1512: 1509: 1506: 1503: 1500: 1497: 1494: 1491: 1488: 1485: 1482: 1479: 1476: 1473: 1470: 1467: 1464: 1461: 1458: 1455: 1452: 1449: 1446: 1443: 1440: 1437: 1434: 1431: 1428: 1425: 1422: 1419: 1416: 1413: 1410: 1407: 1397: 1391: 1388: 1381:needs expansion 1366: 1356: 1353: 1350: 1347: 1344: 1341: 1338: 1335: 1331: 1321: 1315: 1312: 1305:needs expansion 1290: 1280: 1277: 1274: 1271: 1268: 1265: 1262: 1259: 1256: 1253: 1250: 1247: 1244: 1241: 1238: 1235: 1232: 1229: 1226: 1223: 1220: 1217: 1214: 1210: 1200: 1194: 1191: 1184:needs expansion 1169: 1159: 1156: 1153: 1150: 1147: 1144: 1141: 1138: 1135: 1132: 1129: 1125: 1120: 1119: 1116: 1113: 1110: 1109: 1106: 1103: 1100: 1097: 1094: 1091: 1088: 1085: 1082: 1079: 1076: 1073: 1070: 1067: 1064: 1061: 1058: 1055: 1052: 1049: 1046: 1043: 1040: 1037: 1034: 1031: 1028: 1025: 1022: 1019: 1016: 1013: 1010: 1007: 1004: 1001: 998: 995: 992: 989: 986: 983: 980: 977: 974: 971: 968: 965: 962: 959: 956: 953: 950: 947: 944: 941: 938: 935: 932: 929: 926: 923: 920: 919: 916: 913: 910: 907: 904: 901: 898: 895: 892: 889: 886: 883: 880: 877: 874: 871: 868: 865: 862: 859: 856: 853: 850: 847: 844: 841: 838: 835: 832: 829: 826: 823: 820: 817: 814: 811: 808: 805: 802: 799: 796: 793: 790: 787: 784: 781: 778: 775: 769: 763: 743: 733: 727: 724: 717:needs expansion 702: 697: 689: 688: 685: 682: 679: 676: 673: 670: 667: 664: 661: 658: 655: 652: 649: 646: 643: 640: 637: 634: 631: 628: 573: 572: 553: 552: 519: 514: 513: 502: 491: 490: 489: 484: 473: 467: 464: 449: 437: 433: 422: 411: 405: 402: 395: 383: 379: 342: 338: 331: 322: 318: 314: 310: 306: 291: 287: 286:(often written 283: 279: 275: 257:languages) and 243: 232: 231: 230: 225: 214: 208: 205: 190: 178: 174: 163: 152: 146: 143: 100: 98: 88: 76: 35: 31: 24: 17: 12: 11: 5: 4684: 4682: 4674: 4673: 4668: 4663: 4653: 4652: 4646: 4645: 4643: 4642: 4637: 4632: 4627: 4622: 4617: 4612: 4607: 4602: 4597: 4596: 4595: 4585: 4580: 4578:Data structure 4575: 4570: 4564: 4562: 4556: 4555: 4553: 4552: 4547: 4542: 4537: 4532: 4527: 4522: 4517: 4512: 4507: 4502: 4497: 4492: 4487: 4482: 4477: 4471: 4469: 4465: 4464: 4462: 4461: 4460: 4459: 4449: 4444: 4439: 4434: 4429: 4424: 4423: 4422: 4412: 4407: 4402: 4397: 4392: 4387: 4382: 4377: 4372: 4371: 4370: 4359: 4357: 4351: 4350: 4348: 4347: 4346: 4345: 4335: 4329: 4327: 4321: 4320: 4318: 4317: 4312: 4311: 4310: 4305: 4294: 4292: 4286: 4285: 4283: 4282: 4277: 4272: 4271: 4270: 4260: 4259: 4258: 4257: 4256: 4246: 4241: 4236: 4231: 4226: 4225: 4224: 4219: 4217:Half precision 4214: 4204:Floating point 4201: 4196: 4191: 4186: 4180: 4178: 4174: 4173: 4171: 4170: 4165: 4160: 4155: 4150: 4145: 4139: 4137: 4131: 4130: 4125: 4123: 4122: 4115: 4108: 4100: 4092: 4091: 4067: 4042: 4018: 3994: 3976: 3945: 3921: 3890: 3889: 3887: 3884: 3883: 3882: 3877: 3872: 3867: 3862: 3857: 3850: 3847: 3838: 3300: 3233: 3216: 3213: 3204: 3032: 2966: 2963: 2921: 2920: 2900: 2898: 2887: 2884: 2875: 2670: 2601: 2598: 2589: 2397: 2343: 2340: 2331: 2180: 2132: 2129: 2120: 1933: 1923: 1922: 1902: 1900: 1889: 1886: 1877: 1764: 1729: 1726: 1717: 1569: 1530: 1527: 1518: 1409: 1399: 1398: 1378: 1376: 1365: 1362: 1323: 1322: 1302: 1300: 1289: 1286: 1208:Coq (software) 1202: 1201: 1181: 1179: 1168: 1165: 1124: 1121: 1112: 922: 774: 762: 759: 749:with variants 735: 734: 714: 712: 701: 698: 696: 693: 627: 610:for ∨: x∨1=1. 580: 560: 540: 537: 534: 531: 526: 522: 504: 503: 486: 485: 440: 438: 431: 424: 423: 386: 384: 377: 372: 346: 345: 343: 336: 330: 327: 303:nullable types 245: 244: 227: 226: 181: 179: 172: 165: 164: 79: 77: 70: 65: 39: 38: 36: 29: 15: 13: 10: 9: 6: 4: 3: 2: 4683: 4672: 4669: 4667: 4664: 4662: 4659: 4658: 4656: 4641: 4638: 4636: 4633: 4631: 4628: 4626: 4623: 4621: 4618: 4616: 4613: 4611: 4608: 4606: 4603: 4601: 4598: 4594: 4591: 4590: 4589: 4586: 4584: 4581: 4579: 4576: 4574: 4571: 4569: 4566: 4565: 4563: 4557: 4551: 4548: 4546: 4543: 4541: 4538: 4536: 4533: 4531: 4528: 4526: 4523: 4521: 4518: 4516: 4513: 4511: 4508: 4506: 4503: 4501: 4500:Function type 4498: 4496: 4493: 4491: 4488: 4486: 4483: 4481: 4478: 4476: 4473: 4472: 4470: 4466: 4458: 4455: 4454: 4453: 4450: 4448: 4445: 4443: 4440: 4438: 4435: 4433: 4430: 4428: 4425: 4421: 4418: 4417: 4416: 4413: 4411: 4408: 4406: 4403: 4401: 4398: 4396: 4393: 4391: 4388: 4386: 4383: 4381: 4378: 4376: 4373: 4369: 4366: 4365: 4364: 4361: 4360: 4358: 4356: 4352: 4344: 4341: 4340: 4339: 4336: 4334: 4331: 4330: 4328: 4326: 4322: 4316: 4313: 4309: 4306: 4304: 4301: 4300: 4299: 4296: 4295: 4293: 4291: 4287: 4281: 4278: 4276: 4273: 4269: 4266: 4265: 4264: 4261: 4255: 4252: 4251: 4250: 4247: 4245: 4242: 4240: 4237: 4235: 4232: 4230: 4227: 4223: 4220: 4218: 4215: 4213: 4210: 4209: 4207: 4206: 4205: 4202: 4200: 4197: 4195: 4192: 4190: 4187: 4185: 4182: 4181: 4179: 4175: 4169: 4166: 4164: 4161: 4159: 4156: 4154: 4151: 4149: 4146: 4144: 4141: 4140: 4138: 4136: 4135:Uninterpreted 4132: 4128: 4121: 4116: 4114: 4109: 4107: 4102: 4101: 4098: 4081: 4077: 4071: 4068: 4056: 4052: 4046: 4043: 4032: 4028: 4022: 4019: 4008: 4004: 3998: 3995: 3990: 3986: 3980: 3977: 3964: 3960: 3956: 3949: 3946: 3935: 3931: 3925: 3922: 3910: 3906: 3902: 3895: 3892: 3885: 3881: 3878: 3876: 3873: 3871: 3868: 3866: 3865:Nullable type 3863: 3861: 3858: 3856: 3853: 3852: 3848: 3298: 3292: 3243: 3239: 3230: 3222: 3214: 3030: 2972: 2964: 2962: 2928: 2917: 2908: 2904: 2901:This section 2899: 2896: 2892: 2891: 2885: 2668: 2607: 2599: 2395: 2349: 2341: 2308:print_endline 2287:print_endline 2236:string_of_int 2178: 2138: 2130: 1930: 1919: 1910: 1906: 1903:This section 1901: 1898: 1894: 1893: 1887: 1762: 1735: 1727: 1567: 1536: 1528: 1406: 1395: 1386: 1382: 1379:This section 1377: 1374: 1370: 1369: 1363: 1361: 1330: 1319: 1310: 1306: 1303:This section 1301: 1298: 1294: 1293: 1287: 1285: 1209: 1198: 1189: 1185: 1182:This section 1180: 1177: 1173: 1172: 1166: 1164: 1122: 772: 768: 760: 758: 742: 731: 722: 718: 715:This section 713: 710: 706: 705: 699: 694: 692: 625: 623: 618: 616: 611: 609: 605: 600: 598: 594: 593:tagged unions 578: 558: 538: 535: 532: 529: 524: 520: 511: 500: 497: 482: 479: 471: 461: 457: 453: 447: 446: 441:This section 439: 430: 429: 420: 417: 409: 399: 394: 392: 385: 376: 375: 370: 368: 361: 360: 355: 354: 349: 344: 335: 334: 328: 326: 304: 300: 295: 272: 268: 264: 260: 256: 252: 241: 238: 223: 220: 212: 202: 198: 194: 188: 187: 182:This article 180: 171: 170: 161: 158: 150: 139: 136: 132: 129: 125: 122: 118: 115: 111: 108: –  107: 106:"Option type" 103: 102:Find sources: 96: 92: 86: 85: 80:This article 78: 74: 69: 68: 63: 61: 54: 53: 48: 47: 42: 37: 28: 27: 22: 4426: 4405:Intersection 4083:. Retrieved 4079: 4070: 4059:. Retrieved 4057:. 2022-05-18 4054: 4045: 4034:. Retrieved 4031:v2.ocaml.org 4030: 4021: 4010:. Retrieved 4006: 3997: 3988: 3979: 3967:. Retrieved 3958: 3948: 3937:. Retrieved 3933: 3924: 3913:. Retrieved 3904: 3894: 3860:Tagged union 3290: 3241: 3237: 3231: 3224: 2974: 2930: 2911: 2907:adding to it 2902: 2609: 2351: 2140: 1913: 1909:adding to it 1904: 1737: 1538: 1389: 1385:adding to it 1380: 1332: 1313: 1309:adding to it 1304: 1211: 1192: 1188:adding to it 1183: 1126: 1008:tostring_int 770: 744: 725: 721:adding to it 716: 690: 619: 612: 601: 507: 492: 474: 465: 442: 412: 403: 396:Please help 388: 364: 357: 351: 350:Please help 347: 315:Maybe String 301:, is called 296: 266: 262: 253:(especially 248: 233: 215: 206: 183: 153: 144: 134: 127: 120: 113: 101: 89:Please help 84:verification 81: 57: 50: 44: 43:Please help 40: 21:Option style 4671:Type theory 4635:Type theory 4630:Type system 4480:Bottom type 4427:Option type 4368:generalized 4254:Long double 4199:Fixed point 3855:Result type 2927:Standard ML 2886:Standard ML 510:type theory 468:August 2019 263:option type 259:type theory 4666:Data types 4655:Categories 4540:Empty type 4535:Type class 4485:Collection 4442:Refinement 4420:metaobject 4268:signedness 4127:Data types 4085:2020-09-06 4061:2022-06-15 4036:2022-06-15 4012:2022-06-15 3939:2019-08-18 3915:2019-08-18 3886:References 3416:allocPrint 2572:show_value 2548:show_value 2402:show_value 2320:show_value 2299:show_value 2185:show_value 1098:show_value 1077:show_value 936:show_value 615:collection 452:improve it 353:improve it 267:maybe type 193:improve it 117:newspapers 46:improve it 4615:Subtyping 4610:Interface 4593:metaclass 4545:Unit type 4515:Semaphore 4495:Exception 4400:Inductive 4390:Dependent 4355:Composite 4333:Character 4315:Reference 4212:Minifloat 4168:Bit array 3827:empty_msg 3791:empty_msg 3779:allocator 3764:allocator 3758:showValue 3749:empty_msg 3692:allocator 3677:allocator 3671:showValue 3614:getStdOut 3584:allocator 3572:allocator 3446:allocator 3422:allocator 3350:Allocator 3332:allocator 3326:showValue 3289:, and an 3184:showValue 3154:showValue 3037:showValue 2914:July 2022 2852:showValue 2819:showValue 2684:showValue 2106:showValue 2085:showValue 1950:showValue 1916:July 2022 1783:showValue 1766:showValue 1709:showValue 1691:showValue 1589:showValue 1571:showValue 1501:showValue 1486:showValue 1414:showValue 1392:July 2022 1316:July 2022 1215:Inductive 1195:July 2022 1014:implement 728:July 2022 671:>>= 644:>>= 597:unit type 456:verifying 406:July 2019 359:talk page 209:July 2019 197:verifying 147:July 2019 52:talk page 4640:Variable 4530:Top type 4395:Equality 4303:physical 4280:Rational 4275:Interval 4222:bfloat16 3963:Archived 3909:Archived 3849:See also 3740:full_msg 3704:full_msg 3662:full_msg 3521:(.{}){}; 3232:Payload 2981:Optional 2934:datatype 2616:abstract 2560:println! 2536:println! 2452:to_owned 1853:putStrLn 1697:putStrLn 1679:putStrLn 1151:optional 1136:typename 1130:template 776:datatype 695:Examples 319:String?? 4583:Generic 4559:Related 4475:Boolean 4432:Product 4308:virtual 4298:Address 4290:Pointer 4263:Integer 4194:Decimal 4189:Complex 4177:Numeric 3969:Aug 18, 3311:@import 2840:println 2807:println 2467:format! 1944:options 1851:Nothing 1751:Nothing 1676:Nothing 1554:Nothing 1529:Haskell 1510:printfn 1495:printfn 1444:sprintf 1357:Nothing 1086:println 1065:println 927:include 872:typedef 751:nothing 653:Nothing 641:Nothing 624:where: 602:In the 450:Please 323:String? 280:Nothing 191:Please 131:scholar 4573:Boxing 4561:topics 4520:Stream 4457:tagged 4415:Object 4338:String 3818:" 3800:stdout 3731:" 3713:stdout 3620:writer 3596:stdout 3551:deinit 3539:assert 3380:return 3196:" 3166:" 3094:" 3067:return 3061:String 2958:'a 2940:option 2937:'a 2867:" 2834:" 2741:" 2702:String 2696:Option 2672:object 2661:object 2622:Option 2613:sealed 2440:map_or 2428:String 2426:-> 2412:Option 2358:Option 2191:Option 2153:option 2004:string 1968:string 1962:Option 1935:import 1781:String 1586:String 1420:Option 1275:option 1260:option 1218:option 957:string 948:Option 902:option 875:Option 863:option 860:stadef 629:return 292:Some A 288:Just A 133:  126:  119:  112:  104:  4468:Other 4452:Union 4385:Class 4375:Array 4158:Tryte 3806:print 3776:defer 3770:empty 3746:const 3719:print 3689:defer 3659:const 3647:empty 3644:const 3629:const 3593:const 3569:const 3533:debug 3524:defer 3302:const 3242:while 3190:empty 3172:print 3142:print 3124:empty 3058:-> 2965:Swift 2858:empty 2798:empty 2762:Array 2729:=> 2643:value 2634:class 2628:final 2619:class 2600:Scala 2578:empty 2524:empty 2323:empty 2275:empty 2227:-> 2171:' 2147:' 2137:OCaml 2131:OCaml 2112:empty 2058:empty 2013:& 1846:empty 1804:showx 1796:=> 1787:foldl 1778:-> 1772:Maybe 1744:Maybe 1728:Idris 1712:empty 1670:empty 1610:-> 1595:foldl 1583:-> 1577:Maybe 1545:Maybe 1507:|> 1504:empty 1492:|> 1477:empty 1441:-> 1339:Maybe 1257:-> 1101:empty 1053:empty 1017:main0 1005:=> 984:=> 854:false 755:justa 747:Maybe 622:monad 269:is a 261:, an 138:JSTOR 124:books 4588:Kind 4550:Void 4410:List 4325:Text 4163:Word 4153:Trit 4148:Byte 3971:2019 3785:free 3698:free 3683:full 3653:null 3632:full 3512:heap 3488:void 3479:main 3452:dupe 3443:else 3295:null 3291:else 3277:else 3227:?i32 3160:full 3112:full 3034:func 3005:some 2999:none 2996:case 2990:> 2984:< 2978:enum 2952:SOME 2946:NONE 2825:full 2804:None 2783:Some 2777:full 2768:Unit 2756:args 2750:main 2714:fold 2675:Main 2664:None 2658:case 2655:and 2637:Some 2631:case 2554:full 2530:None 2509:Some 2503:full 2491:main 2421:> 2415:< 2379:Some 2373:None 2367:> 2361:< 2355:enum 2342:Rust 2302:full 2281:None 2263:Some 2257:full 2215:some 2203:none 2197:fold 2165:Some 2159:None 2144:type 2097:echo 2091:full 2076:echo 2064:none 2046:some 2040:full 1986:proc 1947:proc 1838:Just 1833:full 1823:main 1812:main 1757:Just 1741:data 1694:full 1661:Just 1655:full 1643:main 1631:main 1619:show 1560:Just 1542:data 1489:full 1483:None 1468:Some 1462:full 1426:fold 1348:Just 1336:type 1269:None 1248:Some 1239:Type 1230:Type 1160:> 1154:< 1142:> 1133:< 1080:full 1059:None 1044:Some 1038:full 1026:void 993:Some 978:None 963:case 842:None 827:true 815:Some 803:bool 753:and 700:Agda 662:Just 635:Just 389:not 276:None 110:news 4447:Set 4143:Bit 3830:}); 3797:try 3755:try 3743:}); 3710:try 3668:try 3623:(); 3617:(). 3602:std 3587:(); 3578:gpa 3545:gpa 3527:std 3506:std 3500:gpa 3497:var 3473:pub 3410:fmt 3404:std 3389:opt 3365:i32 3356:opt 3344:mem 3338:std 3305:std 3283:... 3271:... 3253:opt 3240:or 3215:Zig 3139:nil 3130:Int 3121:let 3109:let 3088:$ 0 3076:map 3070:opt 3052:Int 3046:opt 2909:. 2849:$ { 2816:$ { 2795:val 2774:val 2747:def 2708:opt 2690:opt 2681:def 2581:)); 2557:)); 2521:let 2500:let 2455:(), 2434:opt 2418:i32 2408:opt 2272:let 2254:let 2245:let 2221:fun 2182:let 2070:int 2037:let 2025:get 1998:int 1980:map 1974:opt 1956:opt 1938:std 1911:. 1888:Nim 1844:let 1831:let 1775:Int 1667:let 1652:let 1580:Int 1474:let 1459:let 1432:fun 1411:let 1387:. 1311:. 1288:Elm 1190:. 1167:Coq 1145:std 1123:C++ 1107:end 1050:and 1035:val 1032:let 969:opt 951:int 942:opt 893:ype 797:ype 761:ATS 723:. 508:In 454:by 325:). 294:). 290:or 278:or 265:or 249:In 195:by 93:by 4657:: 4078:. 4053:. 4029:. 4005:. 3987:. 3961:. 3957:. 3932:. 3903:. 3824:.{ 3815:\n 3794:); 3773:); 3737:.{ 3728:\n 3707:); 3686:); 3638:42 3608:io 3566:); 3563:ok 3557:== 3554:() 3482:() 3476:fn 3467:); 3458:u8 3440:}) 3434:.{ 3383:if 3374:u8 3323:fn 3320:); 3297:. 3247:if 3238:if 3193:)) 3181:\( 3163:)) 3151:\( 3118:42 3100:?? 3085:\( 3055:?) 3029:. 2961:. 2955:of 2789:42 2765:): 2735:$ 2723:)( 2699:): 2667:. 2518:); 2515:42 2494:() 2488:fn 2482:)) 2410:: 2399:fn 2394:. 2305:); 2284:in 2269:in 2266:42 2248:() 2218::( 2177:. 2168:of 2052:42 2022:). 2016:$ 2001:): 1965:): 1871:++ 1865:$ 1861:++ 1855:$ 1841:42 1828:do 1821:() 1818:IO 1802:++ 1794:,x 1789:(\ 1761:. 1706:++ 1700:$ 1688:++ 1682:$ 1664:42 1649:do 1640:() 1637:IO 1634::: 1616:++ 1574::: 1566:. 1471:42 1364:F# 1360:. 1284:. 1242::= 1163:. 1148::: 1104:); 1089:!( 1083:); 1068:!( 1062:in 1047:42 1020:() 981:() 972:of 954:): 933:fn 833:of 800:+, 757:. 599:. 362:. 321:= 313:≠ 307:A? 55:. 4119:e 4112:t 4105:v 4088:. 4064:. 4039:. 4015:. 3991:. 3973:. 3942:. 3918:. 3833:} 3821:, 3809:( 3803:. 3788:( 3782:. 3767:, 3761:( 3752:= 3734:, 3722:( 3716:. 3701:( 3695:. 3680:, 3674:( 3665:= 3656:; 3650:= 3641:; 3635:= 3611:. 3605:. 3599:= 3581:. 3575:= 3560:. 3548:. 3542:( 3536:. 3530:. 3515:. 3509:. 3503:= 3491:{ 3485:! 3470:} 3461:, 3455:( 3449:. 3437:n 3431:, 3425:, 3419:( 3413:. 3407:. 3401:| 3398:n 3395:| 3392:) 3386:( 3377:{ 3371:! 3368:) 3362:? 3359:: 3353:, 3347:. 3341:. 3335:: 3329:( 3314:( 3308:= 3286:} 3280:{ 3274:} 3268:{ 3265:| 3262:n 3259:| 3256:) 3250:( 3234:n 3199:) 3187:( 3175:( 3169:) 3157:( 3145:( 3136:= 3133:? 3127:: 3115:= 3106:} 3097:} 3091:) 3079:{ 3073:. 3064:{ 3049:: 3043:_ 3040:( 3026:? 3023:T 3017:} 3014:) 3011:T 3008:( 3002:, 2993:{ 2987:T 2949:| 2943:= 2916:) 2912:( 2870:) 2864:} 2861:) 2855:( 2843:( 2837:) 2831:} 2828:) 2822:( 2810:( 2801:= 2792:) 2786:( 2780:= 2771:= 2759:: 2753:( 2744:) 2738:x 2726:x 2717:( 2711:. 2705:= 2693:: 2687:( 2678:: 2652:) 2649:A 2646:: 2640:( 2584:} 2575:( 2569:, 2563:( 2551:( 2545:, 2539:( 2533:; 2527:= 2512:( 2506:= 2497:{ 2485:} 2479:x 2476:, 2470:( 2464:| 2461:x 2458:| 2449:. 2443:( 2437:. 2431:{ 2424:) 2405:( 2391:} 2388:) 2385:T 2382:( 2376:, 2370:{ 2364:T 2326:) 2317:^ 2311:( 2296:^ 2290:( 2278:= 2260:= 2251:= 2242:) 2239:x 2233:^ 2224:x 2212:~ 2206:: 2200:~ 2194:. 2188:= 2174:a 2162:| 2156:= 2150:a 2115:) 2109:( 2103:, 2094:) 2088:( 2082:, 2073:) 2067:( 2061:= 2055:) 2049:( 2043:= 2034:) 2028:( 2019:x 2007:= 1995:: 1992:x 1989:( 1983:( 1977:. 1971:= 1959:: 1953:( 1941:/ 1918:) 1914:( 1848:= 1835:= 1825:= 1815:: 1806:) 1792:_ 1785:= 1769:: 1759:a 1754:| 1748:= 1746:a 1673:= 1658:= 1646:= 1625:) 1622:x 1607:x 1604:_ 1601:\ 1598:( 1592:= 1563:a 1557:| 1551:= 1548:a 1480:= 1465:= 1453:) 1450:x 1438:x 1435:_ 1429:( 1423:. 1417:= 1394:) 1390:( 1354:| 1351:a 1345:= 1342:a 1318:) 1314:( 1281:. 1278:A 1272:: 1266:| 1263:A 1254:A 1251:: 1245:| 1236:: 1233:) 1227:: 1224:A 1221:( 1197:) 1193:( 1157:T 1139:T 1095:, 1074:, 1056:= 1041:= 1029:= 1023:: 1011:s 1002:) 999:s 996:( 990:| 975:| 966:+ 960:= 945:: 939:( 924:# 917:) 914:b 911:, 908:a 905:( 899:= 896:) 890:@ 887:t 884:: 881:a 878:( 866:= 857:) 851:, 848:a 845:( 839:| 836:a 830:) 824:, 821:a 818:( 812:| 809:= 806:) 794:@ 791:t 788:: 785:a 782:( 730:) 726:( 683:x 680:f 677:= 674:f 668:) 665:x 659:( 650:= 647:f 632:= 579:A 559:A 539:1 536:+ 533:A 530:= 525:? 521:A 499:) 493:( 481:) 475:( 470:) 466:( 448:. 419:) 413:( 408:) 404:( 400:. 369:) 365:( 284:A 240:) 234:( 222:) 216:( 211:) 207:( 189:. 160:) 154:( 149:) 145:( 135:· 128:· 121:· 114:· 87:. 62:) 58:( 23:.

Index

Option style
improve it
talk page
Learn how and when to remove these messages

verification
improve this article
adding citations to reliable sources
"Option type"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
original research
improve it
verifying
inline citations
Learn how and when to remove this message
Learn how and when to remove this message
programming languages
functional programming
type theory
polymorphic type
object-oriented programming
nullable types
improve it
talk page
Learn how and when to remove these messages

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.