• labsin
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    It has std:option

    So every object that can be None or Some, needs to be checked when used. And only options can be set to None

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      English
      arrow-up
      5
      ·
      edit-2
      1 year ago

      Yeah it’s a bit inaccurate to say it’s not supported. It just has edge case handling written explicitly into whatever thing you’re building (I assume it’s required to do so in order to be well-typed). It took this idea from Haskell, which might have gotten it from Miranda or something.

      • labsin
        link
        fedilink
        English
        arrow-up
        2
        ·
        1 year ago

        I like the pattern a lot more. It makes you just initialize the value and only keep it ‘nullable’ for where it’s needed and then you need to check. Even .net implemented it (but a bit more awkward)

        • CanadaPlus@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 year ago

          Yup. Programmers are really stupid, if the compiler forces us to explicitly handle weird situations that’s a feature.