Max Samukha:

It could be normalized by free functions isNull(T)(T t), nullableValue(T)(..) etc.

In Haskell/Scala if you program idiomatically you usually use HOFs as map, filter, etc that work "transparently" on nullables or collection of nullables, because Maybe is a monad. Example: you have a range of nullables, and you map a function on it, using a special map that ignores the null items. (This is one of the improvements I have suggested in Bugzilla.)


But often you want to use something like Nullable(int*, null) or Nullable(int*, cast(int*)null) instead.

Do you have an example? In what cases is the distinction between a null null int* and non-null null int* necessary?

If you use a Nullable!(int*, null) type that distinction vanishes, there is only one null.

Bye,
bearophile

Reply via email to