Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Refunctionalization at work
Danvy O., Millikin K. Science of Computer Programming74 (8):534-549,2009.Type:Article
Date Reviewed: Jan 7 2010

Don’t let the title fool you--this paper is only partly about the technical details of some seemingly obscure program transformation technique. This engagingly written paper brings the reader along a much richer discovery path, toward organizing the various high-level transformations performed by high-level language processors.

Danvy and Millikin first define refunctionalization very carefully, using appropriate examples to illustrate the key ideas. Briefly, refunctionalization is seen as a (left) inverse to the better-known defunctionalization technique of Reynolds, used to rewrite higher-order programs as first order. It is when the technique is put into the context of many other standard--or should-be standard--techniques (such as disentangling, direct style, function merging, continuation-passing style (CPS) transformation, and so forth) that the paper really shines. We get the feeling that the authors have really learned something deeper about the structure of programs and are doing their very best to explain it to us.

However, I wish the authors had been more explicit in pointing out that refunctionalization is most definitely not a unique transformation, but rather a family of transformations, just as defunctionalization involves choices--for example, of data types. Real interpreters do not use association lists to implement environments; the reader is left to wonder if this is intrinsic to these methods or not. My impression is that it is not; this issue could well deserve a sequel.

Reviewer:  Jacques Carette Review #: CR137616 (1006-0584)
Bookmark and Share
  Reviewer Selected
Editor Recommended
Featured Reviewer
 
 
Applicative (Functional) Programming (D.1.1 )
 
 
Program Transformation (I.2.2 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Applicative (Functional) Programming": Date
Functional programming with Hope
Bailey R., Ellis Horwood, Upper Saddle River, NJ, 1990. Type: Book (9780133382372)
May 1 1992
Prospects for functional programming in software engineering
Banâtre J., Jones S., Le Métayer D. (ed), Springer-Verlag New York, Inc., New York, NY, 1991. Type: Book (9780387538525)
Aug 1 1992
An introduction to functional programming
Bird R. (ed), Wadler P., Prentice Hall International (UK) Ltd., Hertfordshire, UK, 1988. Type: Book (9780134841892)
May 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy