Functional Programming With Logical Frameworks. by Adam Brett Poswolsky