43 citations found. Retrieving documents...
Fritz Henglein and Jesper Jrgensen. Formally optimal boxing. In Twenty-First ACM Symposium on Principles of Programming Languages, pages 213--226, Portland, OR, January 1994. ACM.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Representation Analysis for Coercion Placement - Faxén   (Correct)

....in rept z 1000 (2a) let foo x y = if y 0 then foo (id x) y 1) else unbox int x y in foo z 10 (2b) let foo x y = if y 0 then foo (unbox int (id (box int x) y 1) else x y in foo (unbox int z) 10 Fig. 1. Examples of box unbox cycles and loss of box sharing devoted to the first question [12, 17, 10, 11, 8], but much fewer have addressed the second one (Peterson addresses the problem in [15] but does not discuss interprocedural issues and Henglein Jrgensen touch on it in [11] Most often, however, that question is implicitly answered by all variables that the present method finds legal to unbox . ....

....(unbox int z) 10 Fig. 1. Examples of box unbox cycles and loss of box sharing devoted to the first question [12, 17, 10, 11, 8] but much fewer have addressed the second one (Peterson addresses the problem in [15] but does not discuss interprocedural issues and Henglein Jrgensen touch on it in [11]) Most often, however, that question is implicitly answered by all variables that the present method finds legal to unbox . If coercions can only be placed where values are produced (constants, operator applications) or consumed (operator arguments) this is the best that can be done. ....

Fritz Henglein and Jesper Jrgensen. Formally optimal boxing. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 213--226, Portland, Oregon, January 1994.


Demand-Driven Type Analysis for Dynamically-Typed Functional.. - Dubé   (Correct)

....one, too, as performing a good type analysis in a dynamically typed language is not less difficult than performing some other analysis. Instances of analyses include escape analyses [52] reference counting analyses [34] numerical range analyses [25, 26, 40, 47] and representation analyses [53, 31, 32]. In all cases, relatively simple analysis methods can lead to relatively good analysis results. However, doing an optimal job, that is, obtaining results that allow the optimizer to do the best job possible, is uncomputable as all the desired properties depend on the actual computations done be ....

.... (with the help of strictness analyses, see [14, 13, 46, 51] register allocation (with the help of liveliness analysis and pointer or alias analysis, see [3, 17, 64, 30] stack allocation to replace heap allocation (see [24, 52] selection of efficient representation for the values (see [31, 32, 53]) recycling of heap objects (see [34, 35] elimination of dead code (see [3, 39] static branch prediction (using numerical analysis, though, see [47] etc. 7.3.4 Demand Propagation Calculus We merely make an allusion to this subject as it is no more than a vague idea by ours. A demand ....

Fritz Henglein and Jesper J0rgensen. Formally optimal boxing. In 21st Annual ACM SICACT- SICPLAN Symposium on Principles of Programming Languages, Portland, Oregon, pages 213- 226, jan 1994.


Trust in the Lambda-Calculus - Palsberg, Ørbæk (1995)   (2 citations)  (Correct)

....can be computed at compile time or not. At compile time this is a property of the values. Also, this is something that does not change from one compilation of the same program to the next. Another kind of analysis that looks related to trust analysis is dynamic typing or boxing unboxing analysis [9, 10] which aims to remove type tags as much as possible in a dynamically typed language. One might be tempted to view, say, distrust as a boxing operation and trust as the corresponding unboxing operation. However, this does not explain how check should be interpreted and it doesn t match with our ....

Fritz Henglein and Jesper Jrgensen. Formally optimal boxing. In Proc. POPL'94, 21st Annual Symposium on Principles of Programming Languages,


An Optimizing Backend for the ML Kit Using a Stack of Regions - Elsman, Hallenberg (1995)   (4 citations)  (Correct)

....Modules language and it is not clear at the moment how functors may be compiled separately in a region based compiler. As an alternative to separate compilation of functors, functors may be unfolded (specialized) for every application [Els95] Third, different analyses such as box unbox analysis [Ler92,HJ94] may be implemented to increase the quality of the generated code. Finally, there are many phases of the compiler for which more efficient algorithms need to be applied for the compiler to be more efficient. Though the region based compiler described in this paper is not competitive to some other ....

Fritz Henglein and Jesper Jrgensen. Formally optimal boxing. In 21st Annual ACM SIGACTSIGPLAN Symposium on Principles of Programming Languages. Portland, Oregon, pages 213--226, January 1994.


Compiling with Polymorphic and Polyvariant Flow Types - Turbak, Dimock, Muller, Wells (1997)   (4 citations)  (Correct)

.... polymorphic function or method are compiled for each type at which the polymorphic routine is used [CU89, Ble93, Jon94, PC95] The cost of polymorphism can be isolated to uses of polymorphic functions by wrapping them in boxing coercions that are determined by the instantiated types [PJL91, Ler92, HJ94] But boxing coercions introduce new problems they imply copying and coercions that are expensive for compound data and recursive functions and that are semantically incorrect for mutable data structures[Mor95] An alternative is to use dynamic type dispatch to coerce a function to a ....

Fritz Henglein and Jesper Jorgensen. Formally optimal boxing. In POPL '94 [POPL94], pages 213--226.


Exact Flow Analysis - Mossin (1997)   (3 citations)  (Correct)

.... the language of properties is found by adding annotations to type constructors (we do not consider our analysis an instance of annotated types due to the intersection) Examples of Church style analyses are: binding time analysis [23,12,5] strictness analysis [16,17,33,14,3] boxing analysis [18,11,15], totality analysis [28,29] and ow analysis [8,21,6] E ect systems also belong to this category [19,31] In Curry style analysis, the analysis does not make use of the underlying type structure. This often makes the analysis applicable to untyped languages but fails to exploit the structural ....

F. Henglein and J. Jrgensen. Formally optimal boxing. In Proc. 21st ACM Symp. on Principles of Programming Languages (POPL), Portland, Oregon. ACM, 1994.


An Unboxed Operational Semantics for ML Polymorphism - Ohori, Takamizawa (1997)   (3 citations)  (Correct)

....its type is statically determined. To combine this strategy with polymor AN UNBOXED OPERATIONAL SEMANTICS FOR ML POLYMORPHISM 3 phic functions, his algorithm inserts representation conversion functions before and after each invocation of a polymorphic function. Leroy s method is further re ned in [10, 24]. These methods of mixed representations try to minimize boxed representation overhead by localizing them to polymorphic functions. This approach should be e ective for those applications whose cost is largely determined by monomorphic manipulation of multi word data such as arithmetic ....

....preserves the order of evaluation. 6. Related Works This work was motivated by the work of Morrison et al. 17] for an ad hoc approach to implement polymorphic function, and a method for mixed representation optimization of Peyton Jones and Launchbury [22] and of Leroy [14] see also [10, 24] for further re nements. As already mentioned in the introduction, the new contribution of our work compared to these works is a method to specialize polymorphic functions themselves without resorting to run time type analysis. It does not require coercion functions between boxed and unboxed ....

F. Henglein and J. Jrgensen. Formally optimal boxing. In Proceedings of the ACM Symposium on Principles of Programming Languages, pages 213-226. ACM, New York, 1994.


Parametricity and Unboxing with Unpointed Types - Launchbury, Paterson (1996)   (8 citations)  (Correct)

....than the object itself. Secondly, in order to implement a polymorphic function as a single piece of generic code, the values it manipulates must be packaged so that they all look the same. There has been a lot of recent work on minimizing the boxing and unboxing of values that arises in this way [7, 3, 14]. Finally, in lazy languages, arguments are not to be evaluated until it is known that their results are required, so arguments are passed as pointers to computations (so called call by need) In order to use the same function whether the arguments are already evaluated or not (perhaps they were ....

Fritz Henglein and J. Jrgensen. Formally optimal boxing. In 21st ACM Symp. on Principles of Programming Languages, pages 213--226, Portland, OR, January 1994.


Tag Elimination - or - Type Specialisation is a Type-Indexed.. - Taha, Makholm (2000)   (1 citation)  (Correct)

.... Our notion of a tag is different, in particular, we are concerned with tags introduced by user defined datatypes, not the tag per type (or type constructor) tags treated for example by Henglein [Hen92b] or the machine level problem addressed by Peterson [Pet89] Boxing unboxing [HJ94,PL91]: Our concern is with datatypes that have an arbitrary number of constructors, whereas the boxing unboxing problem can be viewed (loosely) as an instance of a datatype with one variant. Further, the type of a boxed value is parameterised by the type of the value it carries. This is not the case in ....

Fritz Henglein and Jesper Jrgensen. Formally optimal boxing. In 21st Annual ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages. Portland, Oregon, pages 213--226, January 1994.


A Type-Based Compiler for Standard ML - Shao, Appel (1994)   (64 citations)  (Correct)

....people have worked on eliminating unnecessary wrapper functions introduced by representation analysis. Both Peyton Jones [17] and Poulsen [18] let the programmer to tag some types with a boxity annotation, and then statically determine when to use boxed representations. Henglein and Jorgensen [10] present a term rewriting method that translates a program with many coercions into one that contains a formally optimal set of coercions. Neither technique appears easy to extend to the SML module language. We use minimum typing derivations [6] to decrease the degree of polymorphism for all ....

Fritz Henglein and Jesper Jorgensen. Formally optimal boxing. In Proc. 21st Annual ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 213--226. ACM Press, 1994.


A Calculus with Polymorphic and Polyvariant Flow Types - Wells, Dimock, Muller, Turbak (1999)   (15 citations)  (Correct)

....guide the selection of data representations. Type information has been widely used to optimize the implementation of polymorphism. Modeling boxing via coercions that mediate between unboxed and boxed types makes it possible to avoid the boxing of values that are used only in monomorphic contexts [PJL91, Ler92, HJ94, Sha94, SA95, Ler97]. While boxing coercions can improve the compilation of monomorphic functions and data structures, their polymorphic counterparts remain inecient. The most common technique for improving polymorphic code is specialization, which makes monomorphic copies of the polymorphic code for each type at ....

F. Henglein and J. Jorgensen. Formally optimal boxing. In POPL '94 [POPL94], pp. 213-226.


Compiling with Polymorphic and Polyvariant Flow Types - Turbak, Dimock, Muller, Wells (1997)   (4 citations)  (Correct)

.... polymorphic function or method are compiled for each type at which the polymorphic routine is used [CU89, Ble93, Jon94, PC95] The cost of polymorphism can be isolated to uses of polymorphic functions by wrapping them in boxing coercions that are determined by the instantiated types [PJL91, Ler92, HJ94] Alternatively, dynamic type dispatch can be used to coerce a function to a specialized version based on an explicit type argument [Mor95] Compilers have also used ow information to improve program performance. A ow analysis provides a conservative approximation of which program points ....

Fritz Henglein and Jesper Jorgensen. Formally optimal boxing. In POPL '94 [POPL94], pages 213-226.


Representation Analysis for Coercion Placement - Faxen (1999)   (1 citation)  (Correct)

....operators box oe and unbox oe. This raises two interesting questions, which are the subject of this paper: For which variables can an unboxed representation be used And for which of those variables should an unboxed representation be used Many papers have been devoted to the first question [13, 21, 9, 10, 18, 7], but much fewer have addressed the second one (Peterson addresses the problem in [17] but does not discuss interprocedural issues and Henglein Jrgensen touch on it in [10] Most often, however, the second question is implicitly answered by all variables that the present method finds legal to ....

.... variables should an unboxed representation be used Many papers have been devoted to the first question [13, 21, 9, 10, 18, 7] but much fewer have addressed the second one (Peterson addresses the problem in [17] but does not discuss interprocedural issues and Henglein Jrgensen touch on it in [10]) Most often, however, the second question is implicitly answered by all variables that the present method finds legal to unbox . If coercions can only be placed where values are produced (constants, operator applications) or consumed (operator arguments) this is the best that can be done. ....

[Article contains additional citation context not shown here]

Fritz Henglein and Jesper Jrgensen. Formally optimal boxing. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 213-- 226, Portland, Oregon, January 1994.


Dictionary-free Overloading by Partial Evaluation - Jones (1994)   (22 citations)  (Correct)

....to be packaged as boxed values a uniform representation that is independent of the type of values involved. Converting between boxed and unboxed representations can be quite expensive and there have been a number of attempts to find techniques for reducing or eliminating unnecessary conversions [14, 18, 15, 7]. The alternative suggested here is to reduce polymorphic definitions to a collection of monomorphic versions, each of which can be implemented using an appropriate representation for the values that it manipulates. This will probably be most effective in languages with strict semantics where ....

F. Henglein and J. Jørgensen. Formally optimal boxing. In Proceedings of the 21st ACM Symposium on Principles of Programming Languages, Portland, Oregon, January 1994.


Optimizing Lazy Functional Programs Using Flow Inference - Faxen (1995)   (4 citations)  (Correct)

....Augustsson [2] who also discusses eval elimination, although he does not give any algorithm and does not discuss the interaction. Gomard and Sestoft [6, 7] and others have studied path analysis which is similar to eval elimination. Boxing has been treated by several authors, a recent example being [9] where Henglein and J rgensen defines an optimality criterion for boxing completions in a call by value language. Here boxing is used only because of polymorphism, but they do not treat the requirements from garbage collection and lazy evaluation. Their approach is considarably different from ....

Fritz Henglein and Jesper Jørgensen. Formally optimal boxing. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 213--226, Portland, Oregon, January 1994.


Polymorphic Equality - No Tags Required - Elsman (1989)   (2 citations)  (Correct)

....space and time savings even for programs that use polymorphic equality. Although tags may be needed at runtime to implement reference tracing garbage collection, it is attractive to eliminate polymorphic equality at an early stage during compilation. Various optimisations, such as boxing analysis [9,7], must otherwise treat polymorphic equality distinct from other primitive operations. Checking two arbitrary values for equality may cause both values to be traversed to any depth. This is in contrast to how other polymorphic functions behave. Further, no special demands are placed on the ....

Fritz Henglein and Jesper Jørgensen. Formally optimal boxing. In 21st ACM Symposium on Principles of Programming Languages, pages 213--226, January 1994.


A Syntactic Approach to Inferring the Life-Time of Data-Regions - Talpin, Tang (1995)   (1 citation)  (Correct)

....polymorphic types to recursive functions, in order to express generic properties for recursive definition, or using subtyping, in order to express the sharing of properties, are such issues. The expressiveness of subtyping has already been demonstrated in previous program analysis techniques [Henglein al. 1994, Tang 1994] Some adaptations of the principle of polymorphic recursion [Mycroft 1984] to program analysis have also been shown of interest in previous effect systems [Tofte al. 1994] But, at this level of sophistication, effect systems seem to show a certain limitation. Integrating expressive ....

....inference system and present its correct implementation. Our syntactic representation of data regions naturally supports subtyping to approximate sharing properties. Whereas other inference techniques usually make explicit use of subtyping constraints [Aiken al. 1995, Consel al. 1994, Henglein al. 1994, Tang 1994] ours comes with the formulation of the first constraintfree subtype inference algorithm, section 8. Furthermore, it allows using a decidable account to type polymorphism for recursive functions, introduced in [Talpin al. 1995] In association with a fixed point iteration ....

[Article contains additional citation context not shown here]

Henglein, F., and Joergensen, J. Formally optimal boxing. In Proceedings of the 1994's ACM Symposium on Principles of Programming Languages, pages 213-226. ACM Press.


Full Lifting of Type Parameters - Minamide (1997)   (3 citations)  (Correct)

....evaluation contexts and reduction as follows: E[e] 7 Gamma E[e 0 ] iff e I e 0 : In this paper, we write # e if e is in normal form with respect to 7 Gamma and e # e 0 if e 7 Gamma e 0 and # e 0 . As source programs of compilation, we consider only the type normalized expressions [11] that satisfy the following two conditions. Type abstractions occur only as the bound expression of let expressions; i.e. let x:oe = t 1 ; t n :e 1 in e 2 . Type applications are only allowed for variables; i.e, x f 1 ; n g. The type normalized expression corresponding to an ....

F. Henglein and J. Jorgensen. Formally optimal boxing. In Proc. ACM Symp. on Principles of Prog. Languages, 1994.


A Type-Based Compiler for Standard ML - Zhong Shao (1994)   (64 citations)  (Correct)

....people have worked on eliminating unnecessary wrapper functions introduced by representation analysis. Both Peyton Jones [20] and Poulsen [21] let the programmer to tag some types with a boxity annotation, and then statically determine when to use boxed representations. Henglein and Jorgensen [13] present a term rewriting method that translates a program with many coercions into one that contains a formally optimal set of coercions. Neither technique appears easy to extend to the SML module language. We use minimum typing derivations [7] to decrease the degree of polymorphism for all ....

Fritz Henglein and Jesper Jorgensen. Formally optimal boxing. In Proc. 21st Annual ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 213--226. ACM Press, 1994.


A Type-Based Compiler for Standard ML - Zhong Shao (1994)   (64 citations)  (Correct)

....people have worked on eliminating unnecessary wrapper functions introduced by representation analysis. Both Peyton Jones [20] and Poulsen [21] let the programmer to tag some types with a boxity annotation, and then statically determine when to use boxed representations. Henglein and Jorgensen [13] present a term rewriting method that translates a program with many coercions into one that contains a formally optimal set of coercions. Neither technique appears easy to extend to the SML module language. We use minimum typing derivations [7] to decrease the degree of polymorphism for all ....

Fritz Henglein and Jesper Jorgensen. Formally optimal boxing. In Proc. 21st Annual ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 213--226. ACM Press, 1994.


Compilation Based on a Calculus for Explicit Type Passing - Minamide (1996)   (10 citations)  (Correct)

....at runtime. We often write a sequence of types as . For example, we sometimes write a type application as ef g. For this calculus, we consider the standard type system and call by value operational semantics. As source programs of compilation, we consider only the type normalized expressions [10] that satisfy the following two conditions. Type abstractions occur only as the bound expression of let expressions; i.e. let x:oe = t 1 ; t n :e 1 in e 2 . Type applications are only allowed for variables; i.e, xf 1 ; n g. The type normalized expression corresponding to an ....

Fritz Henglein and Jesper Jorgensen. Formally optimal boxing. In Proc. ACM Symp. on Principles of Prog. Languages, 1994.


Optimizing Lazy Functional Programs Using Flow Inference - Faxen (1995)   (4 citations)  (Correct)

....Augustsson [2] who also discusses eval elimination, although he does not give any algorithm and does not discuss the interaction. Gomard and Sestoft [6, 7] and others have studied path analysis which is similar to eval elimination. Boxing has been treated by several authors, a recent example being [9] where Henglein and J rgensen defines an optimality criterion for boxing completions in a call by value language. Here boxing is used only because of polymorphism, but they do not treat the requirements from garbage collection and lazy evaluation. Their approach is considarably different from ours ....

Fritz Henglein and Jesper Jørgensen. Formally optimal boxing. In Conference Record of POPL '94: 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 213--226, Portland, Oregon, January 1994.


Generalized Boxings, Congruences and Partial Inlining - Goubault   (Correct)

....clear how we could implement these in a clever way. Moreover, special care should be taken to extend the system to call by value and to include side effects on mutable data, as Peyton Jones heavily relies on the validity of fi reduction to prove his transformations correct. Henglein and J rgensen [13] present a complicated calculus to optimize annihilating boxing unboxing pairs, again in a typed and side effect free setting. Redundant and useless boxings are not dealt with. Moreover, some doubts have recently been expressed as to the validity of their results. Instead of producing lazy ....

....does not depend on the particular chosen execution path through the code. Expressions may be variables, constants, or simple instructions, identified by tags (box float, etc. Constants are all assumed to denote unboxed values, so there are instructions to box and unbox each type of values, as in [13]: reals (2nd row of the expr definition) couples or pairs (3rd row; fst selects the first component, snd the second component, as in Lisp) references (4th row) closures (5th row; they are pairs of a code address, i.e. a constant built with code, and an environment, that we take as a list of ....

F. Henglein and J. Jørgensen. Formally optimal boxing. In 21st PoPL, pages 213--226, 1994.


Compiling Polymorphism Using Intensional Type - Analysis Robert Harper   (Correct)

No context found.

Fritz Henglein and Jesper Jrgensen. Formally optimal boxing. In Twenty-First ACM Symposium on Principles of Programming Languages, pages 213--226, Portland, OR, January 1994. ACM.


Unboxed Compilation of Floating Point Arithmetic in a.. - Lindahl, Sagonas (2002)   (Correct)

No context found.

F. Henglein and J. Jrgensen. Formally optimal boxing. In Conference Record of the ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 213--226. ACM Press, Jan. 1994.

First 50 documents

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