TY - UNPD A1 - Schmidt-Schauß, Manfred A1 - Sabel, David T1 - Improvements in a functional core language with call-by-need operational semantics T2 - Technical report Frank / Johann-Wolfgang-Goethe-Universität, Fachbereich Informatik und Mathematik, Institut für Informatik ; 55 [version 2.0])] N2 - An improvement is a correct program transformation that optimizes the program, where the criterion is that the number of computation steps until a value is obtained is decreased. This paper investigates improvements in both { an untyped and a polymorphically typed { call-by-need lambda-calculus with letrec, case, constructors and seq. Besides showing that several local optimizations are improvements, the main result of the paper is a proof that common subexpression elimination is correct and an improvement, which proves a conjecture and thus closes a gap in Moran and Sands' improvement theory. We also prove that several different length measures used for improvement in Moran and Sands' call-by-need calculus and our calculus are equivalent. T3 - Technical report Frank / Johann-Wolfgang-Goethe-Universität, Fachbereich Informatik und Mathematik, Institut für Informatik - 55 [version 2.0] Y1 - 2015 UR - http://publikationen.ub.uni-frankfurt.de/frontdoor/index/index/docId/41238 UR - https://nbn-resolving.org/urn:nbn:de:hebis:30:3-412383 UR - http://www.ki.informatik.uni-frankfurt.de/papers/frank/frank55v2.pdf PB - Johann Wolfgang Goethe-Univ., Fachbereich Informatik und Mathematik, Inst. für Informatik, Research group for Artificial Intelligence and Software Technology CY - Frankfurt am Main ER -