• 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

Typeful programming (1989)

Cached

  • Download as a PDF

Download Links

  • [lucacardelli.name]
  • [lucacardelli.name]
  • [lucacardelli.name]
  • [lucacardelli.name]
  • [gatekeeper.dec.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [research.microsoft.com]
  • [www.hpl.hp.com]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Luca Cardelli
Citations:133 - 2 self
  • Summary
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

Versions

  • Version 0
  • Version 1

Version History

Metadata Version 1

DatumValueSource
TITLE Typeful programming INFERENCE
AUTHOR NAME Luca Cardelli SVM HeaderParse 0.2
AUTHOR AFFIL Digital Equipment Corporation, Systems Research Center SVM HeaderParse 0.2
AUTHOR ADDR 130 Lytton Avenue, Palo Alto, CA 94301 SVM HeaderParse 0.2
ABSTRACT There exists an identifiable programming style based on the widespread use of type information handled through mechanical typechecking techniques. This typeful programming style is in a sense independent of the language it is embedded in; it adapts equally well to functional, imperative, object-oriented, and algebraic programming, and it is not incompatible with relational and concurrent programming. The main purpose of this paper is to show how typeful programming is best supported by sophisticated type systems, and how these systems can help in clarifying programming issues and in adding power and regularity to languages. We start with an introduction to the notions of types, subtypes and polymorphism. Then we introduce a general framework, derived in part from constructive logic, into which most of the known type systems can be accommodated and extended. The main part of the paper shows how this framework can be adapted systematically to cope with actual programming constructs. For concreteness we describe a particular programming language with advanced features; the emphasis here is on the combination of subtyping and polymorphism. We then discuss how typing concepts apply to large programs, made of collections of modules, and very large programs, made of collections of large programs. We also sketch how typing applies to system programming; an area which by nature escapes rigid typing. In summary, we compare the most common programming styles, suggesting that many of them are compatible with, and benefit from, a typeful discipline. SVM HeaderParse 0.2
YEAR 1989 INFERENCE
VENUE TYPE TECHREPORT INFERENCE
PAGES 431--507 INFERENCE
TECH Technical Report 45 INFERENCE
CITATIONS 21 found ParsCit 1.0
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