79 citations found. Retrieving documents...
Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Programming Language Design and Its implemenation, pages 116--129, 1995.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents  Next 50

TIL: A Type-Directed, Optimizing Compiler for ML - Tarditi, Morrisett, Cheng.. (1995)   (139 citations)  (Correct)

....If an object is too large to fit into a word, then it is boxed by placing it in memory and using a pointer in its place. Unfortunately, the overheads of using a boxed representation are considerable. Previous research, notably the coercion work of Leroy [8] which was also implemented in SML NJ [23], had tried to avoid these overheads. However, Leroy s technique did not apply to recursive or imperative data structures (i.e. lists, trees, and arrays) In a paper presented the previous year, Harper and Morrisett suggested a new approach to compiling polymorphic languages based on intensional ....

Z. Shao and A. Appel. A type-based compiler for Standard ML. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 116--129, La Jolla, June 1995.


Implementing Overloading and Polymorphism in Cforall - Bilson (2003)   (Correct)

....performance of monomorphic code in ML. The boxing transformation is more complicated in ML, since it is possible for a function to receive, for instance, a tuple of polymorphic values from which it extracts one; for this reason, the boxing must often be done recursively, although Shao and Appel [32] discuss a way of minimizing the amount of recursive boxing. In Cforall, The C standard does define an export qualifier that attempts to allow separate compilation, but the semantics of templates prevent the compiler from doing much compilation without knowing the uses of the function. any ....

Zhong Shao and Andrew W. Appel. A type-based compiler for Standard ML. In Proceedings of the conference on Programming language design and implementation, pages 116--129. ACM Press, 1995.


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

....the formal parameter of the identity function, are boxed. This method can lead to a large amount of unboxing and reboxing (he reports results ranging from a speedup of about 3.5 to a slowdown of about 2. 7) and this effect can even change the asymptotic complexity of a program [13] Most authors [12, 19, 17] report larger (positive or negative) changes in performance than we have found. We believe that this is due to a combination of factors. In contrast to [17] we use an efficient generational garbage collector which makes the allocation and reclamation of boxes reasonably cheap and our language is ....

....reasonably cheap and our language is typed, so unboxing does not eliminate type tests. We also differ from all of the above by working in a lazy language, making boxing more difficult to eliminate, and by not unboxing floating point numbers (which we don t have) and tuples. For the SML compilers [12, 19] this is an especially important optimization since SML uses tuples to pass multiple arguments to functions. Our use of cloning has a parallel in [2] where intersection types are used to allow improved (closureless) representations of functions. For lazy languages, both the Glasgow Haskell ....

Zhong Shao and Andrew W. Appel. A type-based compiler for Standard ML. In Programming Language Design and Implementation, pages 116--129, La Jolla, CA, June 1995. ACM Press.


Tagless Staged Interpreters for Typed Languages - Pasalic, Taha, Sheard (2002)   (3 citations)  (Correct)

....in formalizing a multistage language, and proving its safety under a sophisticated dependent type system. We do this by capitalizing on the recent work by Shao, Saha, Trifonov and Papaspyrou s on the TL system [44] which in turn builds on a number of recent works on typed intermediate languages [20, 7, 59, 43, 9, 57, 44]. 1.6 Organization of this Paper Section 2 shows how to take our motivating example and turn it into a tagless staged interpreter in a dependently typed setting. First, we present the syntax and semantics of a simple typed language and show how these can be implemented in a direct fashion in ....

....changed accordingly. The modified eval uses a helper function to convert a representation of a natural type to a natural number . The definition of the typeCheck function requires more substantial changes (Figure 5) In particular, this function now requires carrying out case analysis on types [20, 7, 59, 43, 9]. For this purpose Meta D provides a special case construct tycase x by y of C n x n = e n. A pattern (C n x n) matches against a value x of type K, where K is some sinductive kind, only if we have provided a representation value y of type R(x) Pattern matching over inductive kinds cannot be ....

Zhong Shao and Andrew W. Appel. A type-based compiler for standard ML. In Proceedings of the ACM SIGPLAN'95 Conference on Programming Language Design and Implementation (PLDI), pages 116--129, La Jolla, California, 18-- 21 June 1995.


A Typed Intermediate Language for Flow-Directed Compilation - Wells, Dimock, Muller.. (1997)   (14 citations)  (Correct)

....Work Typed intermediate languages are used in several experimental compilers. Most typed intermediate languages for polymorphic programming languages can be seen as variants of the Girard Reynolds # calculus, System F [10, 23] Recent versions of the Standard ML of New Jersey (SML NJ) compiler [5, 26] use a variant of system F as the representation in the front end of the compiler. In SML NJ, type inference annotates polymorphic functions with universally quantified types and annotates function applications with the simple types to which the polymorphic types are instantiated. The compiler ....

Z. Shao and A. Appel. A type-based compiler for Standard ML. In Proc. ACM SIGPLAN '95 Conf. Prog. Lang. Design & Impl., 1995.


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

....have been used for implementing backends for ML like languages. Caml Light [Ler90] generates highly compact portable byte code from an untyped extended lambda language whereas Standard ML of New Jersey uses continuation passing style to generate efficient native code for a number of architectures [AM91,App92,SA94]. The semantics of Standard ML is described formally in The Definition of Standard ML [MTH90] and further commented in the Commentary on Standard ML [MT91] There are many issues concerned with compilation of Standard ML. In this report we only address issues regarding the backend of a compiler ....

Zhong Shao and Andrew W. Appel. A type-based compiler for Standard ML. Technical report, Yale University and Princeton University, November 1994.


CPS Translations and Applications: The Cube and Beyond - Barthe (1996)   (5 citations)  (Correct)

....of languages like ML and Haskell that have sophisticated polymorphic type systems. Recently, Meijer and Peyton Jones [46] suggested using the cube as a basis for typed intermediate languages. This strategy builds on a well established practice of using System F for compilation 3 (see e.g. [51, 37, 47, 71, 64, 35]) The cube and more general pure type systems seem well suited for intermediate languages because of the following features: ffl compactness: since terms and types are conAEated in one syntactic category, the same functions can be used for their manipulation, and ffl parametricity: the ....

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Proc. of the ACM SIGPLAN '95 Conference on Programming Language Design and Implementation, La Jolla, CA, USA, June 1995. ACM Press.


Compiling Java for High Performance and the Internet - Budimlic (2001)   (Correct)

....compilers. That work forms a background for the techniques described later in this thesis. 2. 4 Related Work This thesis is largely based on combining the work that has been done on compiler optimizations for object oriented languages [1, 28, 27, 28, 36, 37, 55, 64] functional languages [42, 54, 56, 66, 68], and compilers for vector and parallel machines [40, 48, 69] as 16 well as some techniques from classical scalar compilers [14, 30] The unique paradigm compiling for the Internet that Java has imposed on compiler research has allowed us to explore these techniques, modify, extend and apply ....

....to the language. The techniques presented in this thesis have to do a more extensive safety analysis since all the transformations are one way (unwrapping) there is no notion of reconstructing objects from inlined objects (wrapping) Hindley and Milner [59] Kranz et al. 54] Shao and Appel [66] and Tarditi et al. 68] have all looked into developing type inference algorithms for functional languages. The work of Cartwright et al. on soft typing [24, 71] for Scheme is also closely related to this problem. All this research has been a good starting point for Agesen [1] who has done some ....

Zhong Shao and Andrew W. Appel. A type-based compiler for standard ML. Proceedings of the SIGPLAN '95 Conference on Programming Language Design and Implementation, pages 116--129, June 1995.


Parameterized Types and Polymorphic Functions in SIMPL - Mudawwar (2000)   (Correct)

....efficient, with a price paid only when polymorphic functions are called. Cardelli describes a fully boxed implementation of ML [Cardelli 84] Leroy describes coercion based representation analysis [Leroy 92] and Shao and Appel describe a variant that does recursive wrapping only when necessary [Shao 95] Another approach to the implementation of polymorphism is to pass to a polymorphic function a description of the type of polymorphic variables. Harper and Morrisett describe type passing style [Morrisett 95] Proceedings of the 8 th International Conference on AI Applications, February ....

Z. Shao and A. Appel, "A type-based compiler for standard ML", 1995 ACM Conference on Programming Language Design and Implementation, pages 116-129.


High-Assurance Common Language Runtime - Appel, Walker, Shao, Trifonov   Self-citation (Shao Appel)   (Correct)

No context found.

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Proc. 1995.


Type-Preserving Compilation of Featherweight Java - League, Trifonov, Shao (2001)   (6 citations)  Self-citation (Shao)   (Correct)

....and privacy. The formal translation using Featherweight Java allows comprehensible type preservation proofs and serves as a starting point for extending the translation to new features. 1 Introduction Many compilation techniques for functional languages focus on type directed compilation [22, 25, 30]. Source level types are transformed along with the program and then used to guide and justify advanced optimizations. More generally, types preserved throughout compilation can be used to reason about the safety and security of object code [21, 23, 24] Recently, several researchers have ....

Zhong Shao and Andrew W. Appel. A type-based compiler for Standard ML. In Proc. ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI), pages 116--129, La Jolla, June 1995. ACM.


Functional Java Bytecode - League, Trifonov, Shao (2001)   (9 citations)  Self-citation (Shao)   (Correct)

....and CCR 0081590. The views and conclusions contained in this document are those of the authors and should not be interpreted as representing the o cial policies, either expressed or implied, of the Defense Advanced Research Projects Agency or the U.S. Government. of New Jersey compiler [27, 28]. We have recently extended FLINT to support a sophisticated type preserving front end for Java [16, 17] This paper describes #JVM, an intermediate language we designed as a midpoint between JVML and FLINT. We believe it is a good alternative to stack based Java bytecode for virtual machines or ....

....and which is wellsuited for translation into lower level representations such as those used in optimizing compilers. #JVM is particularly successful as an intermediate point between Java bytecode and the kind of A normal form typed # calculus typically used for compiling functional languages [21, 23, 27]. It supports a critical separation of concerns by abstracting away the details of JVML and providing a model of control and data flow closer to that of a functional language. Given an encoding of objects and classes in the target language, the Java primitives of #JVM can then be compiled away ....

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Proc. Conf. on Program. Lang. Design Impl., pages 116--129, New York, June 1995. ACM.


Fully Reflexive Intensional Type Analysis - Trifonov, Saha, Shao (2000)   (15 citations)  Self-citation (Shao)   (Correct)

....that data read from a persistent store is of the expected type. Finally, in polymorphic languages like ML, the type of a value may not be known statically; therefore, compilers have traditionally used inefficient, uniformly boxed data representation. To avoid this, several modern compilers [23, 19, 25] use runtime type information to support unboxed data representation. When compiling code which uses runtime type inspections, most existing compilers use untyped intermediate languages, and reify runtime types into values at some early stage. However, discarding type information during ....

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Proc. ACM SIGPLAN '95 Conf. on Programming Language Design and Implementation, pages 116--129, New York, 1995. ACM Press.


Typed Closure Conversion - Yasuhiko Minamide Greg   (Correct)

No context found.

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Programming Language Design and Its implemenation, pages 116--129, 1995.


Retrospective: - Til Type-Directed Optimizing   (Correct)

No context found.

Z. Shao and A. Appel. A type-based compiler for Standard ML. In ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 116--129, La Jolla, June 1995.


Interfacing Compilers, Proof Checkers, and Proofs for Foundational.. - Wu (2005)   (Correct)

No context found.

Zhong Shao and Andrew W. Appel. A type-based compiler for Standard ML. In Proceedings of the ACM SIGPLAN 1995 Conference on Programming Language Design and Implementation (PLDI '95), pages 116--129, New York, 1995. ACM Press. ISBN 0-89791-697-2.


Generic Pickling and Minimization - Tack, Kornstaedt, Smolka (2005)   (1 citation)  (Correct)

No context found.

Shao, Z. and A. W. Appel, A type-based compiler for Standard ML, in: PLDI '95: Proceedings of the ACM SIGPLAN 1995.


Tagless Staged Interpreters for Typed Languages - Pasalic, Taha, Sheard (2002)   (3 citations)  (Correct)

No context found.

Zhong Shao and Andrew W. Appel. A type-based compiler for standard ML. In Proceedings of the ACM SIGPLAN'95 Conference on Programming Language Design and Implementation (PLDI), pages 116--129, La Jolla, California, 18-- 21 June 1995.


A Typed Intermediate Language for Flow-Directed Compilation - Wells, Dimock, Muller.. (1997)   (14 citations)  (Correct)

No context found.

Z. Shao and A. Appel. A type-based compiler for Standard ML. In PLDI '95 [21].


Inferring Annotated Types for Inter-procedural Register.. - Amtoft, Muller (2002)   (Correct)

No context found.

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Proc. 1995.


Inferring Annotated Types for Inter-procedural Register.. - Amtoft, Muller (2002)   (Correct)

No context found.

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Proc. 1995.


Compiling Standard ML to Java - An   (Correct)

No context found.

Zhong Shao and Andrew W. Appel. A type-based compiler for Standard ML. In Proceedings of the 1995.


Verified Bytecode Verification and Type-Certifying Compilation - Klein, Strecker (2003)   (1 citation)  (Correct)

No context found.

Zhong Shao and Andrew W. Appel. A type-based compiler for Standard ML. In Proc. ACM SIGPLAN '95 Conference on Programming Language Design and Implementation, pages 116--129, La Jolla, CA, 1995.


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

No context found.

Z. Shao and A. W. Appel. A type-based compiler for Standard ML. In Proceedings of the ACM SIGPLAN '95 Conference on Programming Language Design and Implementation, pages 116--129. ACM Press, June 1995.


LARA++ Design Specification - Schmid (2000)   (Correct)

No context found.

Z. Shao and A.W. Appel. A type-based compiler for Standard ML. In Proceedings of ACM SIGPLAN '95, Conference on Programming Language Design and Implementation, pages 116-129, ACM Press, New York, 1995.

First 50 documents  Next 50

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