Search: onr:"swepub:oai:research.chalmers.se:728d0fd0-d433-4589-b02c-c409368507b8" >
Automatically intro...
Automatically introducing tail recursion in CakeML
-
- Abrahamsson, Oskar, 1986 (author)
- Chalmers tekniska högskola,Chalmers University of Technology
-
- Myreen, Magnus, 1983 (author)
- Chalmers tekniska högskola,Chalmers University of Technology
-
(creator_code:org_t)
- 2018-04-19
- 2018
- English.
-
In: Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics). - Cham : Springer International Publishing. - 1611-3349 .- 0302-9743. ; 10788, s. 118-134
- Related links:
-
https://research.cha...
-
show more...
-
https://doi.org/10.1...
-
show less...
Abstract
Subject headings
Close
- We describe and implement an optimizing compiler transformation which turns non–tail-recursive functions into equivalent tail-recursive functions in an intermediate language of the CakeML compiler. CakeML is a strongly typed functional language based on Standard ML with call-by-value semantics and a fully verified compiler. We integrate our implementation into CakeML compiler, and provide a machine-checked proof verifying that the observational semantics of programs is preserved under the transformation. To the best of our knowledge, this is the first fully verified implementation of this transformation in any modern compiler. Moreover, our verification efforts uncover surprising drawbacks in some of the verification techniques employed in several parts of the CakeML compiler. We provide a work-around for these drawbacks, and compare it to potential alternatives.
Subject headings
- NATURVETENSKAP -- Data- och informationsvetenskap -- Språkteknologi (hsv//swe)
- NATURAL SCIENCES -- Computer and Information Sciences -- Language Technology (hsv//eng)
- TEKNIK OCH TEKNOLOGIER -- Elektroteknik och elektronik -- Datorsystem (hsv//swe)
- ENGINEERING AND TECHNOLOGY -- Electrical Engineering, Electronic Engineering, Information Engineering -- Computer Systems (hsv//eng)
- NATURVETENSKAP -- Matematik -- Matematisk analys (hsv//swe)
- NATURAL SCIENCES -- Mathematics -- Mathematical Analysis (hsv//eng)
Publication and Content Type
- kon (subject category)
- ref (subject category)
Find in a library
To the university's database