« Market Place, Reading | Main | GADT Syntax for Haskell Type Definitions »

Recursive Equations are the Assembly Language of Functional Programming

From Origami Programming by Jeremy Gibbons (in The Fun of Programming, Gibbons and de Moer, eds, 2003):

One style of functional programming is based purely on recursive equations.  Such equations are easy to explain, and adequate for any computational purpose, but hard to use well as programs get bigger and more complicated.  In a sense, recursive equations are the ‘assembly language’ of functional programming, and direct recursion the goto. As computer scientists discovered in the 1960s with structured programming, it is better to identify common patterns of use of such too-powerful tools, and capture these patterns as new constructions and abstractions.  In functional programming, in contrast to imperative programming, we can often express the new constructions as higher-order operations within the language, whereas the move from unstructured to structured programming entailed the development of new languages.

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
All HTML will be escaped. Hyperlinks will be created for URLs automatically.