Computational Semantics with Functional Programming
An Introduction to Unification-Based Approaches to Grammar