News for hackers. Stuff that matters.
Re:The Logical Disaster of Null by ivanhoe on Thursday May 10, 2018 @05:14AM (#17037335)
But how do you handle those optional values then? Let's say you run a classifieds site, some of your users will probably prefer not to specify a price, it has to be an optional value. Or age field on a dating sites. How do you filter that data, or handle sorting on that field, without using null values to mark those that are undefined?
Re:The Logical Disaster of Null by Munksgaard on Thursday May 10, 2018 @05:33AM (#17037414)
That has been done with option types in functional languages since at least the 80s. It's not hard.
Re:The Logical Disaster of Null by coldtea on Thursday May 10, 2018 @06:16AM (#17037603)
e.g:

  sum = 0
  for entry in entries:
    case (val):
      null: pass
      number n: sum += n
    endcase
in pseudocode. Several languages have offered this since forever (eg. Haskell and Maybe).

The fun part is that the typesystem enforces that you check all possible cases -- or only lets you explicitly un wrap potentially null values.

So it's not like a C programmer checking if (x == NULL) manually.

Re:The Logical Disaster of Null by tigershark on Thursday May 10, 2018 @05:55AM (#17037517)
Option types and comprehensive pattern matching in F#. If you just need to filter them you can simply use Seq.choose.