[buug] On missing data

Claude Rubinson cmsclaud at arches.uga.edu
Mon Dec 2 18:23:13 PST 2002

On Fri, Nov 29, 2002 at 11:56:17PM -0800, Ian Zimmerman wrote:
> In type/domain theory, this situation is usually modelled by adjoining
> an extra value to the type; that is, by forming a new type T' that is the
> disjoint union of the original type T and a one-element type that
> represents the absence of proper value.
> OOP believers (of which I used to be one) hate this, and will instead
> invent a base type of which both Value and Missing are subtypes, and
> equip the base type with operations so that users of the type don't
> have to distinguish the cases.

Correct me if I'm wrong, but it seems that both of these methods
address the issue of missing data in a similar way.  That is to say,
both view the presence of missing data as an exceptional event (to
echo another discussion on this thread) which must be handled
"out-of-band" (that is, distinct from normal processing).  One
distinction between functional and imperative programming, then,
regards where this "out-of-band" processing takes place (although I
expect that this difference derives from a more fundamental
theoretical distinction which I don't appreciate).

This also explains why the handling of missing data is (as far as I've
seen) generally lumped in with error handling.  Since the presence of
missing data is exceptional, its presence constitutes an error in
input and must be handled as a special case.  Is this correct?


More information about the buug mailing list