CS 6715
Functional-Logic Programming
|
|
Course Outline Jan.-Apr. 2009 |
|
|
|
Functional-logic
programming integrates most of the features of the classical declarative
paradigms, namely of functional programming and of logic programming. From the
functional paradigm it inherits named or anonymous functions, nested
expressions, efficient reduction strategies, higher-order functions, and
types. From the logic paradigm it inherits named relations, logical
variables, partial data structures, unification, and built-in search. The
operational semantics of functional-logic languages is usually based on
narrowing, a combination of unification for parameter passing and reduction
as evaluation mechanism, which subsumes SLD-resolution and rewriting. Their
model-theoretic semantics essentially extend relational Herbrand
models by functional equations. Implementations can use interpreters,
transformations into one of the component paradigms, or compilers for an
extended Warren Abstract Machine (WAM). Applications include Semantic Web
programs over metadata as well as Web Services that provide logic inferences
and/or functional transformations over XML data. These notions are introduced
in the course using the small functional-logic language Relfun
and its serialisation in Functional RuleML. |
|
|
Instructor |
NRC |
||||||||||||||||
Classes |
Thursdays, 1:30 - 3:50 PM, with
middle break (Start: 8 Jan. 2009) NRC (for UNBSJ students: videoconferencing) |
||||||||||||||||
Course Web Site |
|||||||||||||||||
|
|||||||||||||||||
Marking |
30% assignments (3) 20% project documentation (ca. 10 soft pages) 20% project presentation (ca. 12 soft slides) 30% exam |
||||||||||||||||
|
|||||||||||||||||
Lecture Schedule Overview |
|
||||||||||||||||
|
|||||||||||||||||
Reference Material
|
|||||||||||||||||
Course Slides |
http://www.cs.unb.ca/~boley/FLP/cs6905FLP.ppt http://www.cs.unb.ca/~boley/FLP/cs6905FLP.pdf |
||||||||||||||||
Books and Articles |
The Integration of Functions into Logic Programming: From Theory to PracticeMichael
Hanus Journal
of Logic Programming, Vol. 19,20, pp. 583-628, 1994 http://www.informatik.uni-kiel.de/~mh/publications/papers/JLP94.html A Tight, Practical Integration of Relations and FunctionsHarold
Boley http://books.google.ca/books?id=OMwACkP_25gC |
||||||||||||||||
Journal |
The Journal of Functional and Logic Programming (JFLP) http://danae.uni-muenster.de/lehre/kuchen/JFLP/
|
||||||||||||||||
Online Resources |
Functional Logic Programminghttp://www.informatik.uni-kiel.de/~mh/FLP/ Functional Logichttp://directory.google.com/Top/Computers/Programming/Languages/Logic-based/Functional_Logic/ http://dmoz.org/Computers/Programming/Languages/Logic-based/Functional_Logic/ Curryhttp://www.informatik.uni-kiel.de/~mh/curry/ RelfunFunctional RuleML
|
Maintained by Harold Boley