Hacker News new | ask | show | jobs
by zupa-hu 3234 days ago
You use the default empty value, and have an extra field for missingness. Than you have real type safety.
2 comments

Real type safety is sum types. If I need to express something that is present or missing, I should use a Maybe monad.

Having an extra field for "missingness" is less safe because the type system won't enforce that it is either missing or set, you could have it set to a value but marked as missing which is still ambiguous.

That's a "cure" worse than the disease.