The Implementation of Functional Programming Languages (Prentice-hall International Series in Computer Science)