[Haskell-cafe] Sparse records/ADTs
AntC
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
be ...
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?
(vertically partitioned)
Relevant treatments could be "How to Handle missing information without using
NULL" http://www.dcs.warwick.ac.uk/~hugh/TTM/Missing-info-without-nulls.pdf
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.
AntC
More information about the Haskell-Cafe
mailing list