English
Uitgevers gebruiken software voor het opslaan en publiceren van elektronische documenten. In de tachtiger jaren gebruikten uitgevers typisch SGML en DSSSL voor opslag en publicatie, in de negentiger jaren HTML en CSS, en rond 2000 XML en XSL. Daarnaast gebruikt een uitgever typisch het documentformaat TEI (Text Encoding Initiative, zie http://www.tei-c.org/). Vanaf 1987 zijn er vijf versies van deze standaard verschenen. Om met deze veranderingen in type formalisme (van DTDs, gebruikt in SGML en XML, naar XML Schema) en type instanties (van TEI 1 naar TEI 5) om te gaan moet software veranderd worden. Dit soort veranderingen komt regelmatig voor in software, en software evolutie is een gegeven in de softwareontwikkelingsindustrie. Een generiek programma is een programma dat werkt voor waarden van ieder datatype in een grote klasse van datatypen. Wanneer een datatype verandert, of wanneer een nieuw datatype wordt toegevoegd, past een generiek programma zich automatisch aan aan de nieuwe toestand. In dit project is een generieke programmeertaal, Generic Haskell, ontwikkeld, die software evolutie ondersteunt. Naast een programmeertaal hebben de onderzoekers theorie en methoden ontwikkeld die het schrijven van generieke programmas ondersteunen. De ontwikkeling van Generic Haskell is geïnspireerd en gevalideerd door het schrijven van software voor XML. Generiek programmeren lijkt een goede oplossing te bieden voor het probleem van software evolutie.
