Article View: comp.lang.functional
Article #784Transformation Cookbook (was Re: Various Subjects)
From: Eerke Boiten
Date: Fri, 01 Feb 1991 14:23
Date: Fri, 01 Feb 1991 14:23
126 lines
5004 bytes
5004 bytes
In article <9883@discus.technion.ac.il> ses@techunix.BITNET (Simon E Spero) writes:
>Cookbook:
> Can anybody give me a reference for a transformation cook-book;
>something covering various tried and tested transformation tactics? Does one
>exist; if not can anyone suggest a good set of review papers?
There is a matter of taste involved. If you like a calculational approach,
you might look at Backus' paper introducing FP:
@ARTICLE{
Bac78,
Author= {Backus, J.},
Title= {Can Programming be Liberated from the {V}on {N}eumann Style?
{A} Functional Style and its Algebra of Programs},
Journal= cacm,
Volume= 21,
Pages= {613--641},
Month= Aug,
Year= 1978}
or at the Bird-Meertens formalism (there are other and maybe better
references):
@INCOLLECTION{
Bir89b,
Author= {Bird, R.S.},
Title= {Lectures on Constructive Functional Programming},
Crossref= {NATO.ASI.F55},
Pages= {151--218}}
(Marktoberdorf 1988; crossref's: see at the end of this article).
Both of the above methods are concerned with functional formalisms only.
An alternative is the wide-spectrum approach of the CIP project in
Munich:
@string{sv= {Springer-Verlag}}
@BOOK{
Bau82a,
Author= {Bauer, F.L. and W{\"o}ssner, H.},
Title= {Algorithmic Language and Program Development},
Publisher= sv,
Address= {Berlin},
Year= 1982}
%% Bau82a: an early textbook on the transformational development of
%% programs according to the CIP method.
@BOOK{
CIP85,
Author= {Bauer, F.L. and Berghammer, R. and Broy, M. and Dosch, W.
and Geiselbrechtinger, F. and Gnatz, R. and Hangel, E. and
Hesse, W. and Krieg-Br{\"u}ckner, B. and Laut, A. and Matzner, T.
and M{\"o}ller, B. and Nickl, F. and Partsch, H. and Pepper, P.
and Samelson, K. and Wirsing, M. and W{\"o}ssner, H.},
Title= {The {M}unich Project {CIP}. Volume {I}: The Wide Spectrum
Language {CIP-L}},
Series= lncs,
Volume= 183,
Publisher= sv,
Address= {Berlin/Heidelberg/New York},
Year= 1985}
%% CIP85: defining report of the wide spectrum language CIP-L, including
%% (definitional) transformations.
@BOOK{
Par90a,
Author= {Partsch, H.},
Title= {Specification and Transformation of Programs - a Formal
Approach to Software Development},
Address= {Berlin},
Publisher= sv,
Year= 1990}
%% Par90a: recent textbook on transformational development, CIP method,
%% contains a large number of transformations.
Below I've included some other interesting references:
@CONFERENCE{
Fea87,
Author= {Feather, M.S.},
Title= {A Survey and Classification of some Program
Transformation Approaches and Techniques},
Crossref= {Mee87},
Pages= {165--196}}
%% Useful reference article. Contains no transformations as such, but
%% surveys classifies transformations and strategies in literature.
@TECHREPORT{
Sta76,
Author= {T. A. Standish and D. C. Harriman and D. F.Kibler and
J. M. Neighbors},
Title= {The Irvine Program Transformation Catalogue},
Institution= {Department of Information and Computer Science, University
of California at Irvine},
Type= {Technical Report},
Month= jan, Year= 1976}
%% I haven't seen this; maybe someone from Irvine can tell more about
%% this. (I know you're out there ...)
@ARTICLE{
Dar76,
Author= {J. Darlington and R.M. Burstall},
Title= {A system which automatically improves programs},
Journal= acta,
Volume= 6, Number= 1,
Pages= {41--60},
Year= 1976}
%% Dar76: early paper about unfold-fold methodology. Contains a number
%% of transformation rules.
Now for crossref'd proceedings:
@PROCEEDINGS{
Mee87,
Booktitle= {Program Specification and Transformation. Proceedings of
the {IFIP} {TC2}/{WG2.1} Working Conference on Program
Specification and Transformation},
Title= {Program Specification and Transformation. Proceedings of
the {IFIP} {TC2}/{WG2.1} Working Conference on Program
Specification and Transformation},
Editor= {Meertens, L.G.L.T.},
Publisher= nhpc,
Address= {Amsterdam},
Year= 1987}
@PROCEEDINGS{
NATO.ASI.F55,
Title= {Constructive Methods in Computing Science.
{NATO ASI} Series Vol. {F}55},
Booktitle= {Constructive Methods in Computing Science.
{NATO ASI} Series Vol. {F}55},
Editor= {M. Broy},
Publisher= sv,
Address= {Berlin},
Year= 1989}
--
Eerke Boiten
Department of Informatics (STOP Project), K.U.Nijmegen
Toernooiveld, 6525 ED Nijmegen, The Netherlands
Tel. +31-80-652236. Email: eerke@cs.kun.nl
Technical Details
Message-ID:
<2720@wn1.sci.kun.nl>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!hp4nl!sci.kun.nl!cs.kun.nl!eerkeReferences:
<9883@discus.technion.ac.il>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!uunet!mcsun!hp4nl!sci.kun.nl!cs.kun.nl!eerke From: eerke@cs.kun.nl (Eerke Boiten) Newsgroups: comp.lang.functional Subject: Transformation Cookbook (was Re: Various Subjects) Message-ID: <2720@wn1.sci.kun.nl> Date: 1 Feb 91 14:23:20 GMT References: <9883@discus.technion.ac.il> Sender: root@sci.kun.nl Organization: University of Nijmegen, The Netherlands Lines: 126