| Y. Minamide. Full lifting of type parameters. Technical report, RIMS, Kyoto University, 1997. |
....methods using a technique similar to the dictionary passing of Section 4.5. The observation that the pre computation of dictionaries of types can be used to avoid run time type construction has also been made by Minamide in the context of tagless garbage collection for polymorphic languages [12]. Other proposals for polymorphism in Java have certainly helped to inspire our work. However, the design and implementation of these systems differ substantially from our own, primarily because of the pragmatic difficulty of changing the design of the JVM. Agesen, Freund and Mitchell s [2] uses ....
Y. Minamide. Full lifting of type parameters. Technical report, RIMS, Kyoto University, 1997.
....For example, Tolmach [32] implemented a tag free garbage collector via explicit type passing; he reported that the memory allocated for type information sometimes exceeded the memory saved by the tag free approach. Clearly, it is desirable to optimize the run time type passing in polymorphic code [18]. In fact, a better goal would be to guarantee that explicit type passing never blows up the execution cost of a program. Consider the sample code below we took some liberties with the syntax by using an explicitly typed variant of the Core ML. Here denotes type abstraction, denotes value ....
....to be type applications. However, the fully lazy transformation as described in Peyton Jones [24] will not lift all type applications to the top level. Specifically, type applications of a polymorphic function that is defined inside other functions will not be lifted to the top level. Minamide [18] uses a different approach to solve this problem. He lifts the construction of type parameters from within a polymorphic function to the call sites of the function. This lifting is recursively propagated to the call sites at the top level. At runtime, type construction is replaced by projection ....
[Article contains additional citation context not shown here]
Y. Minamide. Full lifting of type parameters. Technical report, RIMS, Kyoto University, 1997.
....For example, Tolmach [29] implemented a tag free garbage collector via explicit type passing; he reported that the memory allocated for type information sometimes exceeded the memory saved by the tag free approach. Clearly, it is desirable to optimize the run time type passing in polymorphic code [15]. In fact, a better goal would be to guarantee that explicit type passing never blows up the execution cost of a program. Consider the sample code below we took some liberties with the syntax by using an explicitly typed variant of the Core ML. Here denotes type abstraction, denotes value ....
....show below a fully lazy transformation on the code fragment at the beginning of this subsection. fffi fl. let u = fi fl x1. let y1 = t 1 . let u1 = f[t1 ff] in x2. u1x2 . y2 = t 3 . let u2 = y1[fi t3] in x3. u2x3 . y3 = t 5 . let u3 = y2[fl t5] in x4. u3x4 . in (y3[u] x1 Minamide [15] has also worked on the same problem but uses an entirely different approach from ours. Instead of constructing types inside functions, he constructs them at the call sites and passes them in as parameters. This transformation is recursively propagated to the call sites at the top level. However, ....
[Article contains additional citation context not shown here]
Y. Minamide. Full lifting of type parameters. Technical report, RIMS, Kyoto University, 1997.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC