Declarative Programming Techniques
Carlos Varela Rensselaer Polytechnic Institute November 15, 2007 Adapted with permission from: