The HERMIT in the Tree

Sculthorpe, N. ORCID: 0000-0002-7244-0916, Farmer, A. and Gill, A., 2013. The HERMIT in the Tree. In: R. Hinze, ed., Implementation and application of functional languages. 24th International Symposium, IFL 2012, Oxford, 30 August - 1 September 2012. Lecture notes in computer science, 8241 . Berlin: Springer, pp. 86-103. ISBN 9783642415814

[img]
Preview
Text
PubSub5462_Sculthorpe.pdf - Post-print

Download (314kB) | Preview

Abstract

This paper describes our experience using the HERMIT tool- kit to apply well-known transformations to the internal core language of the Glasgow Haskell Compiler. HERMIT provides several mechanisms to support writing general-purpose transformations: a domain-specific language for strategic programming specialized to GHC's core language, a library of primitive rewrites, and a shell-style{based scripting language for interactive and batch usage. There are many program transformation techniques that have been described in the literature but have not been mechanized and made available inside GHC - either because they are too specialized to include in a general-purpose compiler, or because the developers' interest is in theory rather than implementation. The mechanization process can often reveal pragmatic obstacles that are glossed over in pen-and-paper proofs; understanding and removing these obstacles is our concern. Using HERMIT, we implement eleven examples of three program transformations, report on our experience, and describe improvements made in the process.

Item Type: Chapter in book
Creators: Sculthorpe, N., Farmer, A. and Gill, A.
Publisher: Springer
Place of Publication: Berlin
Date: 16 November 2013
Volume: 8241
ISBN: 9783642415814
ISSN: 0302-9743
Identifiers:
NumberType
10.1007/978-3-642-41582-1_6DOI
Divisions: Schools > School of Science and Technology
Record created by: Linda Sullivan
Date Added: 01 Jun 2016 08:23
Last Modified: 09 Jun 2017 14:02
URI: https://irep.ntu.ac.uk/id/eprint/27910

Actions (login required)

Edit View Edit View

Views

Views per month over past year

Downloads

Downloads per month over past year