Let Should Not Be Generalised

  • Dimitrios Vytiniotis ,
  • Simon Peyton Jones ,
  • Tom Schrijvers

Proceedings of the 5th ACM SIGPLAN Workshop on Types in Language Design and Implementation |

Published by Association for Computing Machinery, Inc.

From the dawn of time, all derivatives of the classic Hindley-Milner type system have supported implicit generalisation of local let-bindings. Yet, as we will show, for more sophisticated type systems implicit let-generalisation imposes a disproportionate complexity burden. Moreover, it turns out that the feature is very seldom used, so we propose to eliminate it. The payoff is a substantial simplification, both of the specification of the type system, and of its implementation.