HiLog is an untyped logic with a higher-order syntax and a first-order semantics. This project will extend the theory of HiLog, design a Horn-clause logic programming language based on HiLog, and develop an efficient implementation of this language. The goal is to develop a more powerful system than is currently available for declarative programming. HiLog permits variables over predicates and thus supports a more powerful programming and metaprogramming style. It also lets the programmer construct new predicate names using function symbols, which leads to a simple and clean methodology for modular programming in HiLog. However, the semantics of the new language is first-order so that an implementation of efficiency comparable to Prolog is achievable. The eventual implementation will use newly developed indexing techniques to increase its efficiency. It will support a low-level (WAM-based) implementation of the extension-table evaluation technique to provide a complete logical evaluation of queries. The extension-table techniques will be extended to support a more complete implementation of negation in logic programs based on the well-founded semantics. The system will be a powerful prototyping tool that can help in the development of robust software more quickly.