Name:
Professor Paul Bailes
Affiliation:
School of ITEE
Email
Address:
Location:
Room 425, General Purpose South (78)
Phone:
UQ extension 53869
URL:
Research
Interests:
Programming language design and implementation; Functional programming;
Software reenginering
Project
Title: Elaboration
of data-less Totally Functional Programming style
Keywords: Functional programming, Haskell
Units: #4-8
Availability:
Year, S1 start preferred
Prerequisites: COMP1024 or CSSE1001 (pre-2008) or
COMP3400
Description: Use of functional rather than symbolic representations for data types simplifies programming in much the same way that a direct definition of a function is simpler than encoding and interpretation. In particular, the need for iteration/recursion evaporates so that total correctness is easier to demonstrate. Moreover, functional representations are inherently meaningful, so that erroneous coding conventions (e.g. as responsible for Y2K problem) do not arise. This project essentially involves the discovery of the “platonic combinators” to represent as many useful data types as possible, followed by demonstrations of their use in this data-less style. An important and possibly necessary extension of the project may be to consider the advanced type regimes that are needed to permit some of these combinators.
The TFP project is part of a larger effort involving other staff and postgrads. Specific/additional/alternative problems that a keen student may want to address include:
· functional representations for non-natural numbers
· what is the common functional ancestor of “parse” and “print” methods for context-free grammars
· exploit philosophical parallels with analog design for extension to systems engineering
· what built-in ops. ensure “maximum” expressive power
· what sort of type system is needed to accommodate “weird” higher-order functions (see “Type-checking for TFP (Totally Functional Programming)” project below)
· connection to subrecursive formalisms such as Constructive Types
For further information see our TFP papers (draft and published)
Project
Title: Type-checking
for TFP (“Totally Functional Programming”)
Keywords: Functional programming, Types
Units: #4-8
Availability:
Year, S1 start preferred
Prerequisites: COMP1024 or CSSE1001 (pre-2008) or
COMP3400
Description: TFP
entails the use of functional representations for data, and higher-order
functions for operations on such. Regrettably, some of these functions fail
to satisfy the constraints of some common
type-checking systems. The aim of this project is to explain the observed
failures and to identify which more
advanced type-checkers permit the advanced
higher-order functions required by TFP.
Project
Title: “Academic
Adviser’s Apprentice”
Keywords: Academic advising, Prolog
Units: #4-8
Availability:
Year, S1 start preferred
Prerequisites: Selection of expertise in Prolog programming; Internet programming; GUI programming (e.g. Tcl/Tk)
Joint supervisor: TBD
Description: One of the great difficulties posed by the globalisation of the education industry is the offering of accurate academic program planning advice to students contemplating transferring academic credit from one institution to another. Questions such as “what courses do I get exemptions for?”, “how much credit do I get”, and “what study plan can I undertake to complete in minimum time” are difficult to answer correctly.
Consequently, we have for some years been developing a software system that will provide automated assistance in answering these questions, using Prolog to represent various UQ degree rules as a “deductive database”. The system has been developed to prototype form, but there are several further developments that could be undertaken prior to deployment, such as:
· extended coverage of UQ courses and programs
· extended functionality to accommodate logical constructs discovered in the course of the above
· extended functionality to accommodate top-down and bottom-up study plan development
· easy-to-use rule update facility for non-programmers
· gateway to/from other admin. systems
· accessibility via Internet
Suitable for multiple students, each working on different facet(s) of complete project
For further information see the AAA web page
|
Template Last Revised: 14 December 2001 |
|
|
Template Author: Anthony MacDonald |
