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
|
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: |
|
||||
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 |
Views
Views per month over past year
Downloads
Downloads per month over past year