40 citations found. Retrieving documents...
Simon Peyton Jones and John Launchbury. Unboxed values as first-class citizens. In Proc. Conf. on Functional Programming and Computer Architecture, volume 523 of Lecture Notes in Computer Science, pages 636--666. ACM, Springer-Verlag, 1991.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Kava: A Java Dialect with a Uniform Object Model for Lightweight.. - Bacon (2001)   (3 citations)  (Correct)

....based on dataflow analysis and the creation of inlined function preludes and postludes to perform non local unboxing can be as efficient as the type based unboxing described in his previous work. Other work on unboxing also explores various tradeoffs in the design and implementation space [18, 20, 23, 25]. With object oriented programming languages, there has always been a distinction between primitive or built in and user defined object types. Although every data type in Smalltalk, SELF, and Cecil [9, 26, 5] is an object, there are special representations (like tagged integers) and it is ....

PEYTON JONES, S. L., AND LAUNCHBURY, J. Unboxed values as first class citizens. In Functional Programming Languages and Computer Architecture: 5th ACM Conference (Cambridge, Massachussetts, Aug. 1991), J. Hughes, Ed., vol. 523 of Lecture Notes in Computer Science, SpringerVerlag, Berlin, Germany, pp. 636--666.


Kava: A Java dialect with a uniform object model for lightweight.. - Bacon (2002)   (3 citations)  (Correct)

....based on dataflow analysis and the creation of inlined function preludes and postludes to perform non local unboxing can be as efficient as the type based unboxing described in his previous work. Other work on unboxing also explores various tradeoffs in the design and implementation space [20, 22, 25, 28]. With object oriented programming languages, there has always been a distinction between primitive or built in and user defined object types. Although every data type in Smalltalk, SELF, and Cecil [9, 29, 5] is an object, there are special representations (like tagged integers) and it is not ....

PEYTON JONES, S. L., AND LAUNCHBURY, J. Unboxed values as first class citizens. In Functional Programming Languages and Computer Architecture: 5th ACM Conference (Cambridge, Massachussetts, Aug. 1991), J. Hughes, Ed., vol. 523 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, Germany, pp. 636--666.


Kava: A Java dialect with a uniform object model for lightweight.. - Bacon (2001)   (3 citations)  (Correct)

....based on dataflow analysis and the creation of inlined function preludes and postludes to perform non local unboxing can be as efficient as the type based unboxing described in his previous work. Other work on unboxing also explores various tradeoffs in the design and implementation space [18, 20, 23, 26]. With object oriented programming languages, there has always been a distinction between primitive or built in and user defined object types. Although every data type in Smalltalk, SELF, and Cecil [9, 27, 5] is an object, there are special representations (like tagged integers) and it is not ....

PEYTON JONES, S. L., AND LAUNCHBURY, J. Unboxed values as first class citizens. In Functional Programming Languages and Computer Architecture: 5th ACM Conference (Cambridge, Massachussetts, Aug. 1991), J. Hughes, Ed., vol. 523 of Lecture Notes in Computer Science, Springer-Verlag, Berlin, Germany, pp. 636--666.


Preliminary Proceedings of the ACM SIGPLAN Haskell Workshop.. - (editor) (2001)   (Correct)

.... Int Int f x y = case x of I# xv fw xv y fw : Int# Int Int fw xv y = if (xv = # 0#) then I# 0# else case y of I# yv case fw (xv # 1#) I# (yv # 1#) of I# rv I# (yv # rv) f has turned into a mere wrapper that evaluates x before calling the worker , fw [30]. It can do this because f is sure to evaluate x. However, f is not certain to evaluate y, so the evaluation of y must be in the else branch of the conditional in the worker, fw. That means that the worker must re box y before calling itself ( I# (yv # 1#) and in the common case, y will ....

Peyton Jones, S. and J. Launchbury, Unboxed values as first class citizens, in: ACM Conference on Functional Programming and Computer Architecture (FPCA'91) (1991), pp. 636--666.


A Practical Implementation of Root Optimization in G-machine - Choi, O, Han (1998)   (Correct)

....portion. The limitation hinders using root optimization in more realistic compiler like HBC 3 . We suggest an alternative implementation method of root optimization using: ffl New tags and specialized runtime routines to get the common portion more quickly ffl Worker wrapper transformation[13] to use both the vap representation and tail call optimization. With our implementation method, root optimization can be used to reduce heap space with small execution time overhead, and no more problem on interacting with the vap representation and tail call optimization. We implement our method ....

....entry for a common partial application shown in Figure 8. Then it is enough to access the entry to get the partial application. How do we get the stack configuration without losing so much time Our solution is to use new tags ap k;l for some k and l, and to use worker wrapper transformation[13] for an adjustment to the thunk representation. 3.1 AP k;l We introduce ap k;l node which is similar to ap node. Ap k;l node means that an application starting from the node has k arguments and that its common partial application is found by deleting last l arguments. During unwind, when the ap ....

Simon Peyton Jones and John Launchbury. Unboxed value as first class citizens. In Lecture Notes in Computer Science, volume 523. Springer Verlag, 1991.


Compiling Standard ML to Java - Gammage (1997)   (Correct)

.... This approach is clearly unattractive from a performance standpoint, since each time an integer is passed to a function, or placed in a data structure, an Integer object is allocated, taking both time and space; unnecessary boxing and unboxing can also occur if the compiler is not careful [22]. Casts (and hence run time type checks) to extract fields from records like Pair are also necessary. Finally, interfacing to lower level languages (for example, invoking Java API functions from an SML program) becomes difficult, since the lower level languages generally use unboxed ....

....procedure described above. The result is a rather inefficient representation. 4. 3 Coercion Based Approaches A novel coercion based approach to the problem of polymorphic code has been suggested by Leroy [26] building on his own earlier work [25] and complementing the work of Peyton Jones [22]. Peyton Jones suggested introducing boxing and unboxing operations explicitly into the intermediate language (by way of an algebraic data type) exposing them for conventional optimisation. He further introduced the key restriction that polymorphic functions should only range over boxed types in ....

S. L. Peyton Jones and J. Launchbury. Unboxed values as first class citizens, pages 636 -- 666. Number 523 in Lecture Notes in Computer Science. Springer Verlag, September 1991.


Functorial ML - Belle, Jay, Moggi (1996)   (3 citations)  (Correct)

....FML should be considered as an intermediate language. Indeed, the examples show that FML is rather awkward in comparison with ML. FML provides a fine analysis of access to data via the canonical isomorphisms, and should be compared with other intermediate languages, e.g. those proposed in [PJ91, Ler92] to distinguish between boxed and unboxed values and providing explicit coercions between them. In an intensional semantics (see Appendix A) pex m;i (t) 2 Pi m i (X) is like a boxed value, since t is wrapped with additional information about m and i, while dex m;n acts like data redistribution, ....

S. Peyton Jones. Unboxed values as first-class citizens. In Functional Programming and Computer Architecture, volume 523 of LNCS, 1991.


Typed Intermediate Languages for Shape-Analysis - Bellè, Moggi (1997)   (2 citations)  (Correct)

.... of such languages is to make as explicit as possible the information that is only implicit in source programs (see [18] A common features of such intermediate languages is an aggressive use of types to incorporate additional information, e.g. binding times (see [18] boxed unboxed values (see [20]) effects (see [23] In particular, among the ML community the use of types in intermediate languages has been advocated for the TIL compiler (see [9] and for region inference (see [24, 1] In areas like parallel programming, where efficiency is a paramount issue, good intermediate languages ....

S. Peyton Jones. Unboxed values as first-class citizens. In Functional Programming and Computer Architecture, volume 523 of LNCS, 1991.


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

.... of all boxed data of type ; itself represents the type of all unboxed data of type ) and there are two new coercion operations, wrap( to box values of type , and unwrap( to unbox values of type [ This language can then be optimized, using for instance techniques by Peyton Jones [20], which are expressed as source tosource transformations on the target language. This system is simple, elegant, and deals naturally with higher order functions; however, as Leroy notices, it has a few drawbacks, and notably that all coercions are strict (not lazy) so that this may introduce ....

S. L. Peyton-Jones. Unboxed values as first-class citizens. In FPLCA'91. LNCS 523, Springer-Verlag, 1991.


Typed Intermediate Languages for Shape-Analysis - Bellè, Moggi (1997)   (2 citations)  (Correct)

.... is to make as explicit as possible the information that are only implicit in source programs (as advocated by [18] A common feature of such intermediate languages is an aggressive use of types to incorporate additional information, e.g. binding times (see [18] boxed unboxed values (see [20]) effects (see [23] In particular, among the ML community the use of types in intermediate languages has been advocated for the TIL compiler (see [9] and for region inference (see [24, 1] In areas like parallel programming, where efficiency is a paramount issue, good intermediate languages ....

S. Peyton Jones. Unboxed values as first-class citizens. In Functional Programming and Computer Architecture, volume 523 of LNCS, 1991.


Implementing the Conjugate Gradient Algorithm in a Functional.. - Serrarens (1996)   (3 citations)  (Correct)

....arrays f x g are basically a block of pointers to elements, which may represent closures. Strict arrays f x g are represented the same way as lazy arrays, but now the elements are always evaluated. Unboxed arrays f # x g are stored in the most efficient way. All elements are stored unboxed [PJL91] in a continuous block of memory. The overloading mechanism of Clean makes it possible to use the same function names for creating, selecting and updating of the three kinds of arrays. Therefore we can write the program independent of the array representation. The arrays of Clean are similar to ....

S.L. Peyton Jones and J. Launchbury. Unboxed values as first class citizens. In FPCA'91 --- Functional Programming Languages and Computer Architecture, pages 636--666, 1991.


Optimizing ML Using a Hierarchy of Monadic Types - Tolmach (1998)   (9 citations)  (Correct)

....Every source Let would become a LetST, every variable and constant would be coerced into ST, and every primitive would return a value in ST. Peyton Jones et al. 13] suggest performing such a translation, and then using the monad laws (analogous to those in Fig. 9) and the worker wrapper transform [12] to simplify the result, hopefully resulting in some less effectful expression bindings. The main objection to this approach is that it doesn t allow calls to unknown functions (for which worker wrapper doesn t apply) to return non ST results. For example, in the code of Fig. 11, no local ....

S. Peyton Jones and J. Launchbury. Unboxed values as first class citizens. In Proc. Functional Programming Languages and Computer Architecture (FPCA '91), pages 636--666, Sept. 191.


Efficient Compilation of Functional Languages by Program.. - Santos (1997)   (Correct)

.... when we are dealing with a machine integer addition ( #) or the more abstract addition operator of the language (which deals with integers that may in fact be unevaluated expressions) This explicit notation for the two kinds of data types (boxed and unboxed) is presented and discussed in [9]. Actually, at this point we are already using a transformation: inline expansion (inlining) which repalaces one or more occurrences of an expression bound by a let by the let s right hand side: let x = e in : x : let x = e in : e : In the example above we inlined the ....

Simon Peyton Jones and John Launchbury. Unboxed values as first class citizens. In Functional Programming Languages and Computer Architecture, pages 636--666, September 1991.


Making a Fast Curry - Push Enter Vs   Self-citation (Jones)   (Correct)

No context found.

S. Peyton Jones and J. Launchbury. Unboxed values as first class citizens. In R. Hughes, editor, ACM Conference on Functional Programming and Computer Architecture (FPCA'91), volume 523 of Lecture Notes in Computer Science, pages 636--666, Boston, 1991. Springer Verlag.


Playing by the Rules: Rewriting as a practical.. - Jones, Tolmach, Hoare (2001)   (13 citations)  Self-citation (Jones)   (Correct)

.... compile f thus: f x y = case x of I# xv fw xv y fw : Int# Int Int fw xv y = if (xv = # 0#) then I# 0# case y of I# yv case fw (xv # 1#) I# (yv # 1#) of I# rv I# (yv # rv) f has turned into a mere wrapper that evaluates x before calling the worker , fw [30]. It can do this because f is sure to evaluate x. However, f is not certain to evaluate y, so the evaluation of y must be in the else branch of the conditional in the worker, fw. That means that the worker must re box y before calling itself ( I# (yv # 1#) and in the common case, y will ....

Peyton Jones, S. and J. Launchbury, Unboxed values as first class citizens, in: A CM Conference on Functional Programming and Computer Architecture (FPCA'91) (1991), pp. 636-666.


Imperative functional programming Brief summary - Simon Peyton (1992)   Self-citation (Jones)   (Correct)

....Our Haskell compiler has C as its target code. Given a Haskell program performing an I O loop, the compiler can produce C code which is very similar to that which one would write by hand. ffl Its efficiency is achieved by applying simple program transformations. We use unboxed data types [4] to expose representation and order of evaluation detail to code improving transformations, rather than relying on ad hoc optimisations in the code generator. ffl It extends uniformly to provide interleaved I O and reference types. ffl It extends uniformly to support incremental arrays with ....

SL Peyton Jones & J Launchbury, "Unboxed values as first class citizens," in Functional Programming Languages and Computer Architecture, Boston, Hughes, ed., LNCS 523, Springer Verlag, Sept 1991.


Lazy Functional State Threads - Launchbury (1994)   (79 citations)  Self-citation (Jones Launchbury)   (Correct)

No context found.

SL Peyton Jones & J Launchbury [Sept 1991], "Unboxed values as first class citizens," in Functional Programming Languages and Computer Architecture, Boston, Hughes, ed., LNCS 523, Springer Verlag, 636--666.


Lazy Functional State Threads - Launchbury, Jones (1993)   (79 citations)  Self-citation (Jones Launchbury)   (Correct)

No context found.

SL Peyton Jones & J Launchbury [Sept 1991], "Unboxed values as first class citizens," in Functional Programming Languages and Computer Architecture, Boston, Hughes, ed., LNCS 523, Springer Verlag, 636--666.


State in Haskell - Launchbury, Jones (1996)   (11 citations)  Self-citation (Jones Launchbury)   (Correct)

No context found.

SL Peyton Jones & J Launchbury [Sept 1991], "Unboxed values as first class citizens, " in Functional Programming Languages and Computer Architecture, Boston, Hughes, ed., LNCS 523, Springer Verlag, 636--666.


A transformation-based optimiser for Haskell - Jones, Santos (1998)   (56 citations)  Self-citation (Jones)   (Correct)

No context found.

SL Peyton Jones & J Launchbury [1991], "Unboxed values as first class citizens," in Functional Programming Languages and Computer Architecture (FPCA'91), Boston, Hughes, ed., LNCS 523, Springer Verlag, Sept 1991, .


Lazy Imperative Programming - Launchbury (1993)   (16 citations)  Self-citation (Launchbury)   (Correct)

....Now we see its definition 5 . type IO a = World# IORes a data IORes a = MkIORes a World# Elements of type IO a are functions which take a world token (of type World#) and return a pair of values, the first of type a, the second a new world token. Here World# is an unboxed data type [PL91]. The # suffix is a lexical convention only with no semantic content, but unboxed types are very different beasts from normal types. In particular, unboxed types have no bottom element, so cannot be undefined. Consequently, any computation involving elements of unboxed values has to produce the ....

S.Peyton Jones and J.Launchbury, Unboxed Values as First Class Citizens, proc. ACM Functional ProgrammingLanguages and Computer Architecture, Boston, LNCS 523, S-V, 1991.


Bridging the gulf: a common intermediate language.. - Jones, Launchbury.. (1998)   (14 citations)  Self-citation (Jones Launchbury)   (Correct)

No context found.

SL Peyton Jones & J Launchbury [1991], "Unboxed values as first class citizens," in Functional Programming Languages and Computer Architecture (FPCA'91), Boston, Hughes, ed., LNCS 523, Springer Verlag, Sept 1991, 636--666.


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

No context found.

Simon Peyton Jones and John Launchbury. Unboxed values as first-class citizens. In Proc. Conf. on Functional Programming and Computer Architecture, volume 523 of Lecture Notes in Computer Science, pages 636--666. ACM, Springer-Verlag, 1991.


Compiling Standard ML to Java - An   (Correct)

No context found.

S. L. Peyton Jones and J. Launchbury. Unboxed values as first class citizens, pages 636 -- 666. Number 523 in Lecture Notes in Computer Science. Springer Verlag, September 1991.


Using Hindley-Milner Type Inference to Optimise List Representation - Hall (1994)   (5 citations)  (Correct)

No context found.

Peyton Jones, S. L. and J. Launchbury, Unboxed values as first class citizens, Proc. Functional Languages and Computer Architecture, Boston, Springer-Verlag, (1991).

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