Master ST Home
Center ST Home
FAQ
Contact
Brochure
Introduction
Area
Center
Curriculum
Pre-master
Supervision
Thesis Projects
Career
International Exchange
People
Students
Staff
Coordinators
Courses
FPLC
|
SWE
DOS
|
SWS
CCO
|
SWA
APA
|
AFP
|
DBA
PV
|
GP
Seminars
DTP
|
TBPA
ACC
|
NO
DBA
Other Activities
Literature Study
Colloquium
Experimentation Project
Thesis project
How To
Electronic Library
?
Research Talk
Use TeX
Formulate Effectively
CommonMistakes
(constr)
Center
Home
Courses
People
Projects
Page
Edit Page
Rename Page
Attach File
Printable
Wiki Source
More ...
Web
Recent Changes
Notify Service
News
Page Index
Search
More ...
Wiki
About TWiki
Text Formatting
Registration
Change Password
Reset Password
Users
Groups
Log In
or
Register
Student Projects
Master
%TOC% The following projects are all rather summarily stated. More details will become available before the course. Specifically, what it takes to pass the assignment, and what it takes to excel in a given assignment. ---+++ Type inference directives This project may contain any of the following tasks, make a .type file specification for a combinator language, implement type inference decision trees into the Helium compiler, and finally to consider and implement useful abstractions for .type files. Supervision: tba ---+++ Type class directives Investigate the use of invariants for the class system specified by means of type class directives, based on a paper on this subject. Feasible parts of this specification need to be found and implemented. The Top framework is taken as a starting point, inspiration can be found among tools such as BANE. Supervision: tba ---+++ Repair directives Repair directives are a new form of specification to have the compiler generate correct versions of a program when a type error occurs. Your task is to try out new transformations, study their effectiveness by applying them to our base of logged programs and determine the right cost functions to obtain the `optimal' solutions. Supervision: [[http://www.cs.uu.nl/people/bastiaan/][Bastiaan Heeren]] ---+++ Ruler assignment Tba. Supervision: [[Atze.WebHome]] ---+++ Recursion pattern analysis and feedback Detect recursion patterns in a programs (a recursion pattern that can be implemented by map or foldr) and to generate feedback to a programmer how he can modify his program to use these standard function and obtain the same result. Supervision: [[http://www.cs.uu.nl/~stefan/][Stefan Holdermans]] ---+++ Interactive feedback for type inference Build a tool that can answer questions about the type of identifiers in the program, ask the compiler to explain why a type is of a given form, and to explain where the type error can be. The tool should be able to answer such questions for type correct and type incorrect programs. There exsist already tools of this sort, such as Chameleon, which can serve as a source of inspiration. ---+++ Error messages for phantom types programming recipe In case that phantom types (developed by Daan Leijen) are used to encode a class hierarchy, or the relation between a widget and its attributes, details of this encoding are often present in the error messages, and thus do not properly explain what mistake was made. Your task is to improve the situation, within the context of a library such as HaskellDB or wxHaskell. You will be testing your 'theories' on a lightweight library to keep things simple. Supervision: [[http://www.cs.uu.nl/people/bastiaan/][Bastiaan Heeren]] ---+++ Empirical study of Helium programs Together we determine a number of hypotheses about the programming behaviour of students, or the effectiveness of the Helium compiler in providing useful feedback. Using Peter van Keeken's library there hypotheses need to be investigated, by querying our database of logged Haskell programs and finding support for or evidence against a each of the hypotheses. Supervision: [[Hage.WebHome]] -- Main.JurriaanHage - 12 Jun 2006