CS 6715
Functional-Logic Programming
|
|
Course Outline Jan.-Apr. 2008 |
|
|
|
Functional-logic
programming is a programming paradigm that integrates most of the features of
the classical declarative paradigms, namely functional and logic programming.
From functional programming it inherits named or anonymous functions, nested
expressions, efficient reduction strategies, higher-order functions, and
types. From logic programming 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 |
Fridays, 1:30 - 3:50 PM, with middle
break (Start: 11 Jan. 2008) H-E3A (from Dean’s Office walking to Head Hall Copy Centre, turn into left corridor, finding door E3A
on your left) |
||||||||||||||||
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 |
|
||||||||||||||||
|
|||||||||||||||||
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://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 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/ Integrations of functional and logic programming subject areahttp://www.dcs.qmul.ac.uk/SEL-HPC/Articles/GeneratedHtml/functional.logic.html Curryhttp://www.informatik.uni-kiel.de/~mh/curry/ RelfunFunctional RuleML
|
Maintained by Harold Boley