The Implementation of Functional Programming Languages by Simon L Peyton-Jones. (1987)
From the Preface:
This book is about implementing functional programming languages using graph reduction.
…
There appear to be two main approaches to the efficient implementation of functional languages. The first is an environment-based scheme, exemplified by Cardelli’s ML implementation, which derives from the experience of the Lisp community. The other is graph reduction, a much newer technique first invented by Wadsworth [Wadsworth, 1971], and on which the Ponder and Lazy ML implementations are founded. Despite the radical differences in beginnings, the most sophisticated examples from each approach show remarkable similarities.
…
This book is intended to have two main applications:
(i) As a course text for part of an undergraduate or postgraduate course on the implementation of functional languages.
(ii) As a handbook for those attempting to write a functional language implementation based on graph reduction.
You may also enjoy:
Implementing functional languages: a tutorial by Simon Peyton-Jones and David Lester. (1992)
You may be thinking that 1971 is a bit old for a newer technique (it’s not) but in that case you need to look at the homepage of Simon Peyton-Jones. Current work includes Parallel Haskell, Haskell in the Cloud, etc. Be prepared to get lost for some time.