ACM Home Page
Please provide us with feedback. Feedback
From system F to typed assembly language
Full text PdfPdf (484 KB)
Source ACM Transactions on Programming Languages and Systems (TOPLAS) archive
Volume 21 ,  Issue 3  (May 1999) table of contents
Pages: 527 - 568  
Year of Publication: 1999
ISSN:0164-0925
Authors
Greg Morrisett  Cornell Univ., Ithaca, NY
David Walker  Cornell Univ., Ithaca, NY
Karl Crary  Carnegie Mellon Univ., Pittsburgh, PA
Neal Glew  Cornell Univ., Ithaca, NY
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 15,   Downloads (12 Months): 125,   Citation Count: 122
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/319301.319345
What is a DOI?

ABSTRACT

We motivate the design of typed assembly language (TAL) and present a type-preserving ttranslation from Systemn F to TAL. The typed assembly language we pressent is based on a conventional RISC assembly language, but its static type sytem provides support for enforcing high-level language abstratctions, such as closures, tuples, and user-defined abstract data types. The type system ensures that well-typed programs cannot violatet these abstractionsl In addition, the typing constructs admit many low-level compiler optimiztaions. Our translation to TAL is specified as a sequence of type-preserving transformations, including CPS and closure conversion phases; type-correct source programs are mapped to type-correct assembly language. A key contribution is an approach to polymorphic closure conversion that is considerably simpler than previous work. The compiler and typed assembly lanugage provide a fully automatic way to produce certified code, suitable for use in systems where unstrusted and potentially malicious code must be checked for safety before execution.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
APPEL, A. W. AND MACQUEEN, D. B. 1991. Standard ML of New Jersey. In 3rd International Symposium on Programming Language Implementation and Logic Programming, M. Wirsing, Ed. Springer-Verlag, New York, NY, USA, 1-13. Volume 528 of Lecture Notes in Computer Science.
3
 
4
BIRKEDAL, L., ROTHWELL, N., TOFTE, M., AND TURNER, D. 1993. The ML Kit (version 1). Tech. Rep. 93//14, Department of Computer Science, University of Copenhagen.
 
5
6
7
 
8
DANVY, O. AND FILINSKI, A. 1992. Representing control: a study of the CPS transformation. Math. Struct. Comput. Sci. 2, 4 (Dec.), 361-391.
9
 
10
GIRARD, J.-Y. 1971. Une extension de l'interpr6tation de GSdel 5~ l'analyse, et son application 5~ l'61imination de coupures dans l'analyse et la th6orie des types. In Proceedings of the Second Scandinavian Logic Symposium, J. E. Fenstad, Ed. North-Holland, 63-92.
 
11
GIRARD, J.-Y. 1972. Interpr6tation fonctionelle et 61imination des coupures de l'arithm6tique d'ordre sup6rieur. Ph.D. thesis, Universit6 Paris VII.
 
12
13
14
15
 
16
INTEL. 1996. Intel Architecture Software Developer's Manual. Intel Corporation, P.O. Box 7641, Mt. Prospect IL 60056-7641.
17
 
18
19
 
20
 
21
22
23
 
24
MORRISETT, G., CRARY, K., GLEW, N., GROSSMAN, D., SAMUELS, R., SMITH, F., WALKER, D., WEIRICH, S., AND ZDANCEWlC, S. 1999. TALx86: A realistic typed assembly language. In ACM SIGPLAN Workshop on Compiler Support for System Software. INRIA Research Report, vol. 0228. INRIA, Centre de Diffusion, INRIA, BP 105-78153 Le Chesnay Cedex, France.
 
25
 
26
 
27
MORRISETT, G., TARDITI, D., CHENG, P., STONE, C., HARPER, R., AND LEE, P. 1996. The TIL/ML compiler: Performance and safety through types. In ACM SIGPLAN Workshop on Compiler Support for System Software.
28
 
29
30
 
31
PEYTON JONES, S., HALL, C., HAMMOND, K., PARTAIN, W., AND WADLER, P. 1993. The Glasgow Haskell compiler: a technical overview. In Proc. UK Joint Framework for Information Technology (JFIT) Technical Conference. 249-257.
 
32
 
33
SHAO, Z. 1997. An overview of the FLINT/ML compiler. In Workshop on Types in Compilation. Boston College Computer Science Department Technical Report, vol. BCSS-97-03. Boston College, Fulton Hall, Room 460, Chestnull Hill, MA 02467-3808, USA.
 
34
STEELE, JR., G. 1978. Rabbit: A compiler for Scheme. M.S. thesis, MIT.
35
36
37
 
38
WADLER, P. 1990b. Linear types can change the world! In Programming Concepts and Methods, M. Broy and C. Jones, Eds. North-Holland, Sea of Galilee, Israel. IFIP TC 2 Working Conference.
 
39
 
40
 
41
42
43

CITED BY  122

Collaborative Colleagues:
Greg Morrisett: colleagues
David Walker: colleagues
Karl Crary: colleagues
Neal Glew: colleagues