|
|
|
||
Selected topic from Prolog, logic and functional programming based on published papers. The topics include interpretation and metainterpretation, representation of programs, extensions of LP (contraints, integration with functional languages), new languages and their implementation, transformations and partial evaluation.
Last update: G_I (08.06.2001)
|
|
||
Naučit pomocí referátů studenty spracovat a přednést látky z obvlasti logickéhoprogramování Last update: T_KTI (23.05.2008)
|
|
||
[1] R.A.O'Keefe: The Craft of Prolog, MIT Press, 1990
[2] Journal of Logic Programming, obzvlášť vol. 19/20 (Special Issue: Ten Years of Logic Programming), 1994
[3] N.D. Jones, C.K. Gomard, P. Sestoft: Partial evaluation and Automatic Program Generation, Prentice Hall, New York, 1993 Last update: T_KTI (19.05.2005)
|
|
||
Relevant topics are chosen (usually) from following topics.
1. Metaprogramming and metainterpreters, representation of programs and knowledge, simulation of nonprolog selection rules, applications in expert systems
2. Extensions of logic programs, constraint logic programming (CLP). Integration logic and functional programming, languages Mercury, Gödel, Curry, Escher.
3. Termination of logic programs, static analysis and proving of termination, homeomorphic embedding.
4. Transformation of programs, partial evaluation, deforestation, continuation passing style, binary logic programs, Futamura transformations. Supercompilation.
5. Abstract interpretation. Types in logic programs. Extensions of type systems.
6. Advanced programming techniques, structural recursion, DCG grammars. User defined input and output, distfix operators, development using skeletons and techniques. Monads, polytypic programming, staged programming, folding of data structures.
7. Applications. Parser combinators, domain specific (embedded) languages.
8. Implementation techniques, extensions of WAM. Garbage collection. Extensible unification.
9. Ideas from functional programming: Monads, monads transformers, arrows. Polytypic programming. Staged programming. Folding of data structures.
Last update: T_KTI (19.05.2005)
|