CS 6905 Advanced Topics in Computer Science:
Functional and Logic Programming

 

Course Outline Jan.-Apr. 2005


Syllabus
Assigns
Notes
Projects
Resources

Functional programming starts with nested function applications, as found in most programming languages, and leads to powerful higher-order and concurrent languages: it developed from Lisp and Scheme to Standard ML, Haskell, Erlang, and Pizza (a version of Java). Logic programming starts with Horn-logic facts and rules and leads to logic markup languages for business rules: it developed from Prolog to BRML, RuleML, and Common Logic. This course will treat the core of functional and logic programming in an integrated manner as an example of declarative programming. Applications include Web Services that provide logic inferences and/or functional transformations over XML data. These notions are introduced using the small functional-logic language Relfun.

 


 

Instructor

Harold Boley,

NRC

Classes

[Thursdays 1:00-2:10 PM and 2:15-3:20 PM (Start:  6 Jan. 2005)

Room GC-123]

 

Wednesdays 2:30-3:40 PM and 3:45-4:50 PM (Start:  2 Feb. 2005)

Room HC-10

Course Web Site

 http://www.cs.unb.ca/~boley/FLP

 


Marking

30% assignments (3)

20% project documentation (ca. 10 soft pages)

20% project presentation (ca. 12 soft slides)

30% exam


Lecture Schedule Overview

Overview of declarative programming.

10%

Introduction to purely functional programming.

15%

Introduction to pure logic programming.

15%

A functional-logic integration based on call-by-value.

15%

Semantics of the functional-logic language Relfun.

10%

Basics of the Relfun implementations.

10%

The functional-logic XML syntaxes of RFML and RuleML

15%


 

Reference Material

Books

and

Articles

The Integration of Functions into Logic Programming: From Theory to Practice

Michael Hanus

Journal of Logic Programming, Vol. 19,20, pp. 583-628, 1994

http://www.informatik.uni-kiel.de/~mh/publications/papers/JLP94.html

 

Functional and Logic Programming - Proceedings of the Third Fuji International Symposium

Masahiko Sato and Yoshihito Toyama (Eds.)

http://www.wspc.com/books/compsci/3709.html

 

A Tight, Practical Integration of Relations and Functions

Harold Boley

http://smi-web.stanford.edu/people/boley/lnai1712.html

 

Journal

The Journal of Functional and Logic Programming (JFLP)

http://danae.uni-muenster.de/lehre/kuchen/JFLP/

 

Online

Resources

Functional Logic Programming

http://www.informatik.uni-kiel.de/~mh/FLP/

 

Functional Logic

http://directory.google.com/Top/Computers/Programming/Languages/Logic-based/Functional_Logic/

http://dmoz.org/Computers/Programming/Languages/Logic-based/Functional_Logic/

 

Integrations of functional and logic programming subject area

http://www.dcs.qmul.ac.uk/SEL-HPC/Articles/GeneratedHtml/functional.logic.html

 

Curry

http://www.informatik.uni-kiel.de/~mh/curry/

 

Relfun

http://www.relfun.org/


Maintained by
Harold Boley