» Research » Groups » Logic And Functional Programming Group

SFU Logic And Functional Programming Group

School of Computing Science
Simon Fraser University
Burnaby, B.C.
Canada V5A 1S6
Phone: (604) 291-3426
FAX: (604) 291-3045
Verónica Dahl (School of Computing Science, SFU)
Fred Popowich (School of Computing Science, SFU)
Harvey Abramson (Department of Computer Science, Aizu University)
Hassan Aït-Kaci
Romas Aleliunas (Center for Systems Science, SFU)
Steve Thomason (Department of Mathematice, SFU)
Warren Burton (School of Computing Science, SFU)
Phil Winne (Faculty of Education, SFU)
Jim Delgrande (School of Computing Science, SFU)
Bill Havens (School of Computing Science, SFU)
Jia-Wei Han (School of Computing Science, SFU)
Lou Hafer (School of Computing Science, SFU)
Ron Harrop (Department of Mathematics, SFU)
David Poole (Department of Computer Science, UBC)
Michael Rochemont (Department of Linguistics, UBC)
Bill Wadge (Department of Computer Science, University of Victoria)
Maarten van Emden (Department of Computer Science, University of Victoria)
Associate Members:
Richard DeArmond (Department of Linguistics, SFU)
John Jones (School of Engineering, SFU)
Visiting Scientists:
Dominique Vellard (Département d'informatique, Université de Nantes)
Paul Tarau (Département d'informatique, Université de Moncton)
Former Post-Docs:
Jamie Andrews


The Logic and Functional Programming Group was formally established in 1990 as an independent research group under SFU's Policy AC-35. It is a strongly interdisciplinary group comprising members from six SFU units (Computing Sciences, Linguistics, Mathematics, Centre for Systems Science, Education, Engineering), two UBC units (Linguistics, Computinc Sciences), and from the University of Victoria and Aizu University in Japan.


Logic programming is the art of using logic to describe knowledge in a more human-oriented way than is possible with traditional programming languages. This is achieved by describing a problem domain in terms of facts and rules written in a simple subset of first-order logic. A hidden theorem-prover can then solve a particular problem in that domain by deducing, as needed, further facts from the facts and rules stored. Thus we can program declaratively, largely in terms of what needs to be done, rather than of how to do it. Logic programming has become the heart of the Fifth Generation Computing project.


The group's objectives are:
  • To further the state of the art on the theoretical and practical aspects of developing declarative programming tools (in particular, logic programming, functional programming, constraint logic programming and logic grammars);
  • To investigate the uses of these tools for concrete Fifth Generation Computing applications, and to facilitate result transfers and collaborations with other academic units and with industry.

Specific Research Interests

Building on existing logic or functional programming tools, our group develops new tools (e.g., logic grammars), investigates their theoretical and implementation aspects, and develops Fifth Generation software in areas such as natural language processing (front ends to knowledge-based systems, analysis, generation, and translation), linguistic theory automation, deductive databases, knowledge representation, constraint logic programming, hardware design, probabilistic systems, and expert systems. Related areas, such as neural networks and parallelism, are also investigated.

Collaborations Group members have a solid record of successful collaboration with industry, including a record-setting research contract with IBM Canada for generating machine-readable error messages, a research contract with the French government for the automatic consultation of industrial catalogues in French, and two research contracts with the Canadian Workplace Automation Research Centre in Laval for the automatic translation of agricultural reports. The group also has collaboration agreements with european universities. For discussing further potential collaborations, please contact the group's Director, Dr. Verónica Dahl, at (604) 291-3372.


The group's laboratory, located in ASB 10855, contains a SUN Sparcstation IPX which runs Quintus Prolog, a MacIntosh LCII which runs ALS and LPA Prolog, and IBM AT personal computer, and several video terminals. Both the SPARCStation and the Mac were purchased with NSERC, CSS and PRG Equipment Grants. The IBM AT and the terminals were purchased with funds from an IBM SUR grant and an NSERC Operating Grant, respectively.


The group gratefully acknowledges financial support from NSERC, CSS and PRG in the form of infrastructure and equipment grants, and is also grateful to SFU and CSS for the use of their facilities.