Using Patterns
Lyth, M.
Gray, D.
Longman
Sep 87