Typed compilation of recursive datatypes

  title={Typed compilation of recursive datatypes},
  author={Joseph Vanderwaart and Derek Dreyer and Leaf Petersen and Karl Crary and Robert Harper and Perry Cheng},
Standard ML employs an opaque (or generative) semantics of datatypes, in which every datatype declaration produces a new type that is different from any other type, including other identically defined datatypes. A natural way of accounting for this is to consider datatypes to be abstract. When this interpretation is applied to type-preserving compilation, however, it has the unfortunate consequence that datatype constructors cannot be inlined, substantially increasing the run-time cost of… CONTINUE READING