[Haskell-cafe] Sparse records/ADTs
anthony_clayden at clear.net.nz
Thu Oct 25 01:10:43 CEST 2012
Jon Fairbairn <jon.fairbairn <at> cl.cam.ac.uk> writes:
> Is there a convenient way of handling a data structure with lots
> of fields of different types that may or may not be filled in?
Hi Jon, if your question had appeared in a database forum, the answer would
Sounds like you need to do normal-form analysis:
- what are the functional dependencies between the fields?
- is your data structure something like a 'universal relation'?
- is the structure better expressed as several records?
Relevant treatments could be "How to Handle missing information without using
I appreciate that SQL's NULL is not the same as Haskell's Maybe/Nothing (and
SQL's semantics for NULL are utterly horrible). Nevertheless, if you're
concerned to avoid the wasted space of sparse records, it could be a helpful
discipline to design data structures without needing Maybe's.
More information about the Haskell-Cafe