Journal of Functional Programming

Functional pearls

FUNCTIONAL PEARL On tiling a chessboard

a1 Programming Research Group, Oxford University, Wolfson Building, Parks Road, Oxford OX1 3QD, UK (email:

Article author query
bird rs   [Google Scholar] 

Teacher: Good morning class. Today I would like you to construct a program for finding out how many ways a chessboard can be tiled with dominoes. For those who don't play games, a chessboard is a 8×8 board divided into 64 squares, and a domino is a 2×1 tile which can cover two squares of the board either vertically or horizontally. For example, a 2×2 board can be covered with two dominoes in exactly two ways, with both dominoes horizontal or both vertical.