CS 6715
FunctionalLogic Programming


Course Outline Jan.Apr. 2009 



Functionallogic
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, higherorder functions, and
types. From the logic paradigm it inherits named relations, logical
variables, partial data structures, unification, and builtin search. The
operational semantics of functionallogic languages is usually based on
narrowing, a combination of unification for parameter passing and reduction
as evaluation mechanism, which subsumes SLDresolution and rewriting. Their
modeltheoretic 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 functionallogic 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. 583628, 1994 http://www.informatik.unikiel.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.unimuenster.de/lehre/kuchen/JFLP/


Online Resources 
Functional Logic Programminghttp://www.informatik.unikiel.de/~mh/FLP/ Functional Logichttp://directory.google.com/Top/Computers/Programming/Languages/Logicbased/Functional_Logic/ http://dmoz.org/Computers/Programming/Languages/Logicbased/Functional_Logic/ Curryhttp://www.informatik.unikiel.de/~mh/curry/ RelfunFunctional RuleML

Maintained by Harold Boley