Separating shape and content

From HaskellWiki
Revision as of 01:34, 18 September 2006 by DonStewart (talk | contribs) (wibble)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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.