A lightweight approach to datatype-generic rewriting

Term-rewriting systems can be expressed as generic programs parameterised over the shape of the terms being rewritten. Previous implementations of generic rewriting libraries require users to either adapt the datatypes that are used to describe these terms or to specify rewrite rules as functions. T...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of functional programming Ročník 20; číslo 3-4; s. 375 - 413
Hlavní autoři: VAN NOORT, THOMAS, RODRIGUEZ YAKUSHEV, ALEXEY, HOLDERMANS, STEFAN, JEURING, JOHAN, HEEREN, BASTIAAN, MAGALHÃES, JOSÉ PEDRO
Médium: Journal Article
Jazyk:angličtina
Vydáno: Cambridge, UK Cambridge University Press 01.07.2010
ISSN:0956-7968, 1469-7653
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Term-rewriting systems can be expressed as generic programs parameterised over the shape of the terms being rewritten. Previous implementations of generic rewriting libraries require users to either adapt the datatypes that are used to describe these terms or to specify rewrite rules as functions. These are fundamental limitations: the former implies a lot of work for the user, while the latter makes it hard if not impossible to document, test, and analyze rewrite rules. In this article, we demonstrate how to overcome these limitations by making essential use of type-indexed datatypes. Our approach is lightweight in that it is entirely expressible in Haskell with GADTs and type families and can be readily packaged for use with contemporary Haskell distributions.
Bibliografie:SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 14
ISSN:0956-7968
1469-7653
DOI:10.1017/S0956796810000183