Calculating Functional Programs
Jeremy Gibbons
Abstract
Functional programs are merely equations; they may be manipulated by straightforward equational reasoning. In particular, one can use this style of reasoning to calculate programs, in the same way that one calculates numeric values in arithmetic. Many useful theorems for such reasoning derive from an algebraic view of programs, built around datatypes and their operations. Traditional algebraic methods concentrate on initial algebras, constructors, and values; dual co-algebraic methods concentrate on final co-algebras, destructors, and processes. Both methods are elegant and powerful; they deserve to be combined.
Book Title
Algebraic and Coalgebraic Methods in the Mathematics of Program Construction
Editor
Roland Backhouse and Roy Crole and Jeremy Gibbons
ISSN
0302−9743
Pages
148–203
Publisher
Springer−Verlag
Series
Lecture Notes in Computer Science
Volume
2297
Year
2002