• Documents
  • Authors
  • Tables
  • Other Seers ▼
    RefSeer AckSeer CollabSeer SeerSeer
  • Log in
  • Sign up
  • MetaCart

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

Compiling with Types (1995)

Cached

  • Download as a PDF
  •  
  • Download as a PS

Download Links

  • [www.cs.cornell.edu]
  • [reports-archive.adm.cs.cmu.edu]
  • [www.cs.cmu.edu]
  • [www.cs.cmu.edu]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Greg Morrisett
Citations:97 - 14 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Morrisett95compilingwith,
    author = {Greg Morrisett},
    title = {Compiling with Types},
    year = {1995}
}

Years of Citing Articles

Bookmark

citeulike Connotea Bibsonomy Del.icio.us Digg Reddit

OpenURL

 

Abstract

Compilers for monomorphic languages, such as C and Pascal, take advantage of types to determine data representations, alignment, calling conventions, and register selection. However, these languages lack important features including polymorphism, abstract datatypes, and garbage collection. In contrast, modern programming languages such as Standard ML (SML), provide all of these features, but existing implementations fail to take full advantage of types. The result is that performance of SML code is quite bad when compared to C. In this thesis, I provide a general framework, called type-directed compilation, that allows compiler writers to take advantage of types at all stages in compilation. In the framework, types are used not only to determine efficient representations and calling conventions, but also to prove the correctness of the compiler. A key property of typedirected compilation is that all but the lowest levels of the compiler use typed intermediate languages. An advantage of this approach is that it provides a means for automatically checking the integrity of the resulting code. An important

Citations

1497 The Definition of Standard ML - Milner, Tofte, et al. - 1990
595 Compiling with Continuations - Appel - 1992
490 A syntactic approach to type soundness - Wright, Felleisen - 1994
416 Uniprocessor garbage collection techniques, Yves Bekkers and Jacques Cohen (eds - Wilson - 1992
396 A Language with Distributed Scope - Cardelli - 1995
379 Introduction to Higher Order Categorical Logic - Lambek, Scott - 1986
339 Towards a theory of type structure - Reynolds
316 Generation Scavenging: A Non-disruptive High Performance Storage Reclamation Algorithm - Ungar - 1984
299 The mechanical evaluation of expressions - Landin - 1964
266 The Lambda Calculus: its syntax and semantics, volume 103 of Studies in logic and the foundations of mathematics - Barendregt - 1985
263 Definitional interpreters for higher-order programming languages - Reynolds - 1972
252 Compiling polymorphism using intensional type analysis - Harper, Morrisett - 1995
251 A type-theoretic approach to higher-order modules - Harper, Lillibridge - 1994
237 The revised report on the syntactic theories of sequential control and state - Felleisen, Hieb - 1992
235 The essence of compiling with continuations - Flanagan, Sabry, et al. - 1993
231 Distributed programming in Argus - Liskov - 1988
221 Interprétation fonctionnelle et élimination des coupures de l’arithmétique d’ordre supérieur. Thèse de Doctorat d’ État, Université de Paris VII - Girard - 1972
208 Manifest types, modules, and separate compilation - Leroy - 1994
195 Une extension de l’interprétation de Gödel à l’analyse et son application à l’élimination des coupures dans l’analyse et la théorie des types - Girard - 1970
192 Standard ML of New Jersey - McQueen, Appel - 1991
182 Soft typing with conditional types - Aiken, Wimmers, et al. - 1994
175 Soft typing - Cartwright, Fagan - 1991
163 Unboxed objects and polymorphic typing - Leroy - 1992
159 Lambda lifting: Transforming programs to recursive equations - Johnsson - 1985
151 Refinement types for ML - Freeman, Pfenning - 1991
146 Typed closure conversion - Minamide, Morrisett, et al. - 1996
135 A type-based compiler for Standard ML - Shao, Appel - 1995
132 Iterated register coalescing - George, Appel - 1996
130 Higher-order modules and the phase distinction - Harper, Mitchell, et al. - 1990
125 Qualified types: theory and practice - Jones - 1992
121 The categorical abstract machine - Cousineau, Curien, et al. - 1985
112 eine bisher noch nicht benutzte Erweiterung des finiten Standpunktes, Dialectica, Vol: 12 - Godel, Uber - 1958
111 Type Classes in Haskell - Hall, Hammond - 1994
107 Continuation-passing, closure-passing style - Appel, Jim - 1989
107 Elements of Functional Programming - Reade - 1989
103 Space Efficient Conservative Garbage Collection - Boehm - 1993
103 A practical soft type system for scheme - Wright, Cartwright - 1997
98 On the type structure of Standard ML - Harper, Mitchell - 1993
90 A simple applicative language: Mini-ml - Clément, Despeyroux, et al. - 1986
89 A debugger for standard ml - Tolmach, Appel - 1995
89 Abstract models of memory management - Morrisett, Felleisen, et al. - 1995
87 NESL: A nested data-parallel language (version 3.1 - Blelloch - 1995
82 A theory of qualified types - Jones - 1998
80 Java intermediate bytecodes - Gosling - 1995
78 Dynamic typing in a statically-typed language - Abadi, Cardelli, et al. - 1989
77 Implementation of Argus - Liskov, Curtis, et al. - 1987
76 A value transmission method for abstract data types - Herlihy, Liskov - 1982
75 Report on the programming language Haskell, version 1.2 - Hudak, Jones, et al. - 1992
72 Language Support for Mobile Agents - Knabe - 1995
72 Selective and lightweight closure conversion - WAND, STECKLER - 1994
The National Science Foundation
  • About CiteSeerX
  • Submit Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2010 The Pennsylvania State University