Differences between imperative and declarative paradigms. Specification vs. algorithm.
Fundamental ideas of functional and functional/logic programming. Simple examples and problems. Using the PAKCS compiler/intrepreter.
Terminology (term, position, substitution, redex); rewrite relation and its properties; constructor TRSs; orthogonal TRSs.
Logic programming; residuation; narrowing; solving equations; programming with variables.
Termination; classic strategies; definitional trees; classes of constructor TRSs.
Source and target languages, control, execution, low-level mapping.
Programming and advanced programming in a functional logic language.
Contact: antoy@cs.pdx.edu
Last update Thu Aug 31 08:58:38 PDT 2017