From: Dave B. <da...@ta...> - 2001-09-18 07:39:41
|
At 12:46 16/09/2001, Derek R. Dreyer wrote: >To clarify: the transparent interpretation of datatypes is one in which >datatype specifications expose the implementation of a datatype as >a recursive sum type. Thank you. That was what I was alluding to; I apologise for using a garbled example. >I'm pretty sure O'Caml also has an opaque interpretation of datatypes. O'Caml restricts datatypes in that constructors take an explicit number of arguments, and can only be applied to that number of arguments. E.g. they cannot be applied to a tuple instead; nor can they be treated as first-class functions. This is to simplify the optimisation where the constructor tag is included in the record. As you say, this is done in a non-type-preserving compiler, and I have no idea whether it has any bearing on the opaque/transparent question. >We have a new way >of dealing with the opaque interpretation in TILT that clears up these >problems. We are in the process of writing up a new TR with more compelling >examples of the "permissiveness gap" between the opaque and transparent >interpretations and with a description of our approach to implementing the >opaque interpretation in a type-directed compiler. Stay tuned. I look forward to reading that. This brings up a separate point. Perhaps people could announce new SML-related papers on this mailing list? Would other people find this useful? Dave. |