KNAW

Research

Real-life Datatype-Generic Programming

Pagina-navigatie:
Title Real-life Datatype-Generic Programming
Period 01 / 2008 - 02 / 2012
Status Current
Dissertation Yes
Data Supplier: NWO

Abstract

Datatype-generic programming has been around for more than 10 years now. We think a lot of progress has been made in the last decade. As an example, there are more than 10 proposals for generic-programming libraries or language extensions just for the lazy functional-programming language Haskell. Although generic programming has been applied in several applications, it lacks users for real-life projects. This is understandable. Developing a large application takes a couple of years, and choosing a particular approach to generic programming for such a project involves a risk. Few approaches that have been developed over the last decade are still supported, and there is a high risk that the chosen approach will not be supported anymore, or that it will change in a backwards-incompatible way in a couple of years time. We propose to create an environment that supports developing real-life applications using generic-programming techniques. We will focus on developing: - a library or a mixture of a library with a language extension for which we will guarantee continuing support. - an example of a real-life application fundamentally using generic-programming techniques. This application will serve as a showcase for generic-programming support for software development and evolution. - generic-programming design patterns. The usage of the generic-programming techniques in real-life projects will exhibit recurrent patterns, and will give valuable advice for and help with developing other applications using generic-programming techniques. Thus we will show how generic programming can be used to develop powerful tools in little time, and that the resulting tools are easy to maintain, adapt, and reuse.

Abstract (NL)

Software verandert. Technologie¨en, organisaties, en bedrijfsvoering veranderen door de jaren heen, en veel software moet bij deze veranderingen aangepast worden. Generiek programmeren is een programmeermethode die het veranderen van software ondersteunt. Een generiek programma beschrijft hoe 'de uitzondering' geïmplementeerd wordt; het algemene geval wordt altijd op dezelfde manier opgelost. Voor het schrijven van een generieke programma is een generieke programmeertaal of een generieke programmeerbibliotheek nodig. De afgelopen jaren zijn meerdere generieke programmeertalen en -bibliotheken voorgesteld, en met deze talen zijn een aantal veelbelovende toepassingen van generiek programmeren ontwikkeld. Omdat het generiek programmeren veel aandacht heeft gekregen in het onderzoeksgebied van de programmeertalen bestaan er zeer veel voorstellen voor programmeertalen en -bibliotheken die het generiek programmeren ondersteunen. Dit belemmert de vooruitgang van generiek programmeren, omdat het voor gebruikers steeds moeilijker wordt te kiezen, en de versnipperde aandacht tot gevolg heeft dat vele voorstellen over een aantal jaren niet meer ondersteund zullen worden. Wij stellen voor om een gezamenlijke bibliotheek voor generieke programmatuur te ontwikkelen, en die te gebruiken in een grote toepassing van generiek programmeren, namelijk interactieve, domein-specifieke oefeningenhulptools. De ervaringen met grotere toepassingen willen wij in design patterns voor generiek programmeren consolideren.

Related organisations

Related people

Supervisor Prof.dr. J.T. Jeuring
Doctoral/PhD student S.P. Leather
Update this data

Go to page top
Go back to contents
Go back to site navigation