CS510 Theory & Practice of Functional Logic Programming --- Winter 03
CRN 45992
(Version Nov. 2002)
Index
Instructor
Sergio Antoy
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
Description
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
-
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.
Contacts and Resources
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.