1. Compilation of logic programs, Warren Abstract Machine [1], method for development of abstract machines and their instructions. Implementation of built-in predicates, optimizations.
2. Abstract interpretation - method for extraction of global information about programs, abstract and concrete domains, cumulative semantics, using of extracted information in compilation.
3. Transformation of logic programs, partial evaluation [2], Futamura projections. Partial evaluation for Prolog, solving of nondeterminism.
4. Ideas of constraint logic programming [3] (CLP), domains and solvers.
5. Advanced programming methods.
The lecture gives an overview about logic programming. The covered topics are WAM - Warren Abstract Machine, binarization, abstract interpretation, partial evaluation, types and constraint logic programming.