• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations

DMCA

Cached

  • Download as a PDF

Download Links

  • [www.seas.upenn.edu]
  • [www.seas.upenn.edu]

  • Save to List
  • Add to Collection
  • Correct Errors
  • Monitor Changes
by Stephanie Weirich
  • Summary
  • Citations
  • Active Bibliography
  • Co-citation
  • Clustered Documents
  • Version History

BibTeX

@MISC{Weirich_,
    author = {Stephanie Weirich},
    title = {},
    year = {}
}

Share

Facebook Twitter Reddit Bibsonomy

OpenURL

 

Abstract

My research focuses on the design of statically-typed programming languages. Static type systems are a popular, cost-effective form of lightweight program verification. They provide a tractable and modular way for programmers to express properties that can be mechanically checked by the compiler. As a result, the compiler can rule out a wide variety of errors and provide more information to refactoring and development tools. For example, systems written with type-safe languages cannot be compromised by buffer overruns if all array accesses are statically proven safe. Furthermore, programmers can modify their code with the assurance that they have not violated critical safety properties. I explore these designs in the context of functional programming languages, such as Haskell and ML. Functional programming languages are an ideal context for type system research; they excel in their capabilities for static reasoning. However, there is need for improvement. Some programming idioms must be ruled out simply because they cannot be shown to be sound by existing type systems. To overcome these limitations, my work investigates type system features in the context of both new languages and existing ones, and evaluates those designs with respect to both theory and practice. Trellys: Dependently-typed language design Dependent types promise to dramatically increase the effectiveness of static type systems. They work by allowing types to depend on program values, enabling specifications that are both more flexible and more precise. However, even though dependent type theory has been well studied as a foundation for logical reasoning, these type systems have been little used in practical programming languages.

Keyphrases

static type system    functional programming language    type system    lightweight program verification    new language    type system feature    static reasoning    ideal context    cost-effective form    statically-typed programming language    logical reasoning    type-safe language    practical programming language    modular way    programming idiom    dependently-typed language design dependent    critical safety property    buffer overrun    array access    program value    development tool    wide variety    type system research    dependent type theory   

Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

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

© 2007-2019 The Pennsylvania State University