Personal tools

Separating shape and content

From HaskellWiki

Revision as of 01:34, 18 September 2006 by DonStewart (Talk | contribs)

Jump to: navigation, 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.

[Category:Idioms]