Evidence normalization in System FC

  • Dimitrios Vytiniotis ,
  • Simon Peyton Jones

24th International Conference on Rewriting Techniques and Applications (RTA'13) |

Published by LIPICS, Schloss Dagstuhl

System FC is an explicitly typed language that serves as the target language for Haskell source programs. System FC is based on System F with the addition of erasable but explicit type equality proof witnesses. Equality proof witnesses are generated from type inference performed on source Haskell programs. Such witnesses may be very large objects, which causes performance degradation in later stages of compilation, and makes it hard to debug the results of type inference and subsequent program transformations. In this paper we present an equality proof simplification algorithm, implemented in GHC, which greatly reduces the size of the target System FC programs.