Sergio AntoyDescription
office: FAB 120-24
e-mail: antoy@cs.pdx.edu
homepage: http://www.cs.pdx.edu/~antoy/
office hours: MW 9-10 & by appointment
class time and location: MW 14:00-15:30, PCAT 138
Functional logic languages offer the best features of both functional programming and logic programming. Programs in these languages are declarative, very-high level and often compact and elegant. The course presents fundamental and contemporary issues of both theory and practice of functional logic programming. The theory will focus on rewriting and narrowing with emphasys on strategies and computation. The practice, which include program design, implementation and analysis, will address both programming in a functional logic language and problems arising in the compilation and execution of functional logic languages.Goal
Students will be given considerable latitude in focusing either on the theory or the practice and/or in exploring research opportunities in this area. Students are expected to learn the main concepts of declarative programming, to understand the key principles on which functional logic programming is based, to know one or more functional logic languages, and to be able to translate problems into programs in these languages.Prerequisites
The expected preparation is a bachelor degree in Computer Science or equivalent background. Willingness to learn a non-traditional computing paradigm and appreciation for clear and rigorous foundations of computing are good assets for this course.Course materials
Contacts and Resources
- Curry Tutorial, an on-line "in progress" document discussing the key features of the Curry programming language.
- Pakcs distribution, a downloadable compiler/interpreter of Curry. It is freely downloadable and usable, but it requires a SICStus Prolog installation which requires a fee.
- Examples of functional logic programs.
- Advanced functional logic programming.
For administrative questions (including adding and dropping), computer accounts, parking, etc., consult the Computer Science Office, cmps@cs.pdx.edu (voice: 503-725-4036, fax: 503-725-3211).
For questions, comments and complaints about the course content, organization, and delivery consult the instructor.
Information about PSU's computing facilities is at http://www.cat.pdx.edu/.
Questions can be directed to the systems administrator, cat@cs.pdx.edu.