Regarding the logic library question: If it doesn't exist, it should be possible to build one a variety of ways. The Reasoned Schemer builds logical reasoning capabilities into Scheme. Chapters 33-34 of PLAI discuss Prolog and implementing Prolog. These authors are building bridges between Scheme and Prolog. The creators of PLT Scheme have built as one of their languages a Lazy Scheme after the lazy evaluation feature of Haskell. Oleg Kiselyov's LogicT paper is brilliant as usual--he pushes the boundary for what is possible in many languages. There is also a logic programming example on the Haskell Wiki.
- The Reasoned Schemer by Daniel P. Friedman, William E. Byrd, and Oleg Kiselyov
- Programming Languages: Application and Interpretation by Shriram Krishnamurthi
- LogicT - backtracking monad transformer with fair operations and pruning
- Logic programming on Haskell Wiki