On a related note, I have another question. Say we have some data
structure, for instance a list, some functions on this data structure
(probably defined with some well known functions, such as map or
fold), and a program using them. Is there any research trying to
rewrite the program, and the data structure, to optimize them ?

Do you mean "computer science"?-) Much of this field could be
rephrased as the search for better representations, to enable
better implementations of algorithms (for some measure of "better"):

do we represent programs as data structures to be interpreted,
or as code to be executed? do we use sets, lists, arrays, ..? how
do we represent sets/lists/arrays/..? do we recompute properties of data, or do we store them (and is one better always, or sometimes, and when? or do we need to optimize for the average or the most common case? how do we define "better", anyway?)? which are the options, for a particular application domain, or a general class of data structure/algorithm, and how do they compare? and so on..

But if you limit your question sufficiently, you might have some
luck looking for papers that reference any of these:

   Automatic data structure selection: an example and overview,
   James R. Low, Communications of the ACM, 1978
   http://portal.acm.org/citation.cfm?id=359488.359498

   Techniques for the automatic selection of data structures
   Low, Rovner, 3rd POPL, 1976
   http://portal.acm.org/citation.cfm?id=811540

Rovner, P. Automatic representation selection for associative data structures. Ph.D. Th., Harvard U., Cambridge, Mass; Tech. Rep. TR10, U. of Rochester, Rochester, N.Y., Sept. 1976.
Claus

_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to