Separating shape and content
(Add page on separating shape and content in data structures)
Revision as of 01:34, 18 September 2006
An interesting programming technique in Haskell is to encode a data structure as two separate structures, one defining the shape of the overall data, and the other defining the content.
This is used, for one, in nested data parallelism, to distribute nested arrays as flat arrays + a shape descriptor across a network.
Ross Paterson has written a nice overview of the technique.