Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1570506.1570507acmotherconferencesArticle/Chapter ViewAbstractPublication PagesecoopConference Proceedingsconference-collections
research-article

Blame for all

Published: 06 July 2009 Publication History

Abstract

We present a language that integrates statically and dynamically typed components, similar to the gradual types of Siek and Taha (2006), and extend it to incorporate parametric polymorphism. Our system permits a dynamically typed value to be cast to a polymorphic type, with the type enforced by dynamic sealing along the lines proposed by Pierce and Sumii (2000), Matthews and Ahmed (2008), and Neis, Dreyer, and Rossberg (2009), in a way that ensures all terms satisfy relational parametricity. Our system includes a notion of blame, which allows us to show that when more-typed and less-typed portions of a program interact, that any type failures are due to the less-typed portion.

References

[1]
]]Robert Bruce Findler and Matthias Felleisen. Contracts for higher-order functions. In ACM International Conference on Functional Programming (ICFP), October 2002.
[2]
]]Cormac Flanagan. Hybrid type checking. In ACM Symposium on Principles of Programming Languages (POPL), January 2006.
[3]
]]Arjun Guha, Jacob Matthews, Robert Bruce Findler, and Shriram Krishnamurthi. Relationally-parametric polymorphic contracts. In Dynamic Languages Symposium (DLS), October 2007.
[4]
]]Fritz Henglein. Dynamic typing: Syntax and proof theory. Science of Computer Programming, 22(3):197--230, 1994.
[5]
]]Jacob Matthews and Amal Ahmed. Parametric polymorphism through run-time sealing. In European Symposium on Programming (ESOP), pages 16--31, 2008.
[6]
]]Jacob Matthews and Robert Bruce Findler. Operational semantics for multi-language programs. In ACM Symposium on Principles of Programming Languages (POPL), January 2007.
[7]
]]James H. Morris, Jr. Types are not sets. In ACM Symposium on Principles of Programming Languages (POPL), pages 120--124, 1973.
[8]
]]Georg Neis, Derek Dreyer, and Andreas Rossberg. Non-parametric parametricity. Manuscript submitted for publication, March 2009. URL http://www.mpi-sws.org/~dreyer/papers/npp/main.pdf.
[9]
]]Xinming Ou, Gang Tan, Yitzhak Mandelbaum, and David Walker. Dynamic typing with dependent types. In IFIP International Conference on Theoretical Computer Science, August 2004.
[10]
]]Benjamin Pierce and Eijiro Sumii. Relating cryptography and polymorphism. Manuscript, 2000. URL http://www.cis.upenn.edu/~bcpierce/papers/infohide.ps.
[11]
]]John Reynolds. Types, abstraction, and parametric polymorphism. In R. E. A. Mason, editor, Information Processing, pages 513--523. North-Holland, 1983.
[12]
]]Jeremy G. Siek and Walid Taha. Gradual typing for functional languages. In Scheme and Functional Programming Workshop (Scheme), September 2006.
[13]
]]Sam Tobin-Hochstadt and Matthias Felleisen. Interlanguage migration: From scripts to programs. In Dynamic Languages Symposium (DLS), October 2006.
[14]
]]Philip Wadler. Theorems for free. In Conference on Functional Programming Languages and Computer Architecture (FPCA), September 1989.
[15]
]]Philip Wadler and Robert Bruce Findler. Well-typed programs can't be blamed. In European Symposium on Programming (ESOP), March 2009.

Cited By

View all
  • (2022)Highly illogical, Kirk: spotting type mismatches in the large despite broken contracts, unsound types, and too many lintersProceedings of the ACM on Programming Languages10.1145/35633056:OOPSLA2(479-504)Online publication date: 31-Oct-2022
  • (2020)Taking the Long, Holistic, and Intersectional View to Women’s WellbeingACM Transactions on Computer-Human Interaction10.1145/339715927:4(1-32)Online publication date: 20-Jul-2020
  • (2019)Does blame shifting work?Proceedings of the ACM on Programming Languages10.1145/33711334:POPL(1-29)Online publication date: 20-Dec-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
STOP '09: Proceedings for the 1st workshop on Script to Program Evolution
July 2009
74 pages
ISBN:9781605585437
DOI:10.1145/1570506
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 July 2009

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ECOOP '09

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Highly illogical, Kirk: spotting type mismatches in the large despite broken contracts, unsound types, and too many lintersProceedings of the ACM on Programming Languages10.1145/35633056:OOPSLA2(479-504)Online publication date: 31-Oct-2022
  • (2020)Taking the Long, Holistic, and Intersectional View to Women’s WellbeingACM Transactions on Computer-Human Interaction10.1145/339715927:4(1-32)Online publication date: 20-Jul-2020
  • (2019)Does blame shifting work?Proceedings of the ACM on Programming Languages10.1145/33711334:POPL(1-29)Online publication date: 20-Dec-2019
  • (2019)Deductive verification with ghost monitorsProceedings of the ACM on Programming Languages10.1145/33710704:POPL(1-26)Online publication date: 20-Dec-2019
  • (2019)How Emotional and Contextual Annotations Involve in Sensemaking Processes of Foreign Language Social Media PostsProceedings of the ACM on Human-Computer Interaction10.1145/33591713:CSCW(1-18)Online publication date: 7-Nov-2019
  • (2019)Cross-Cultural Differences in the Use of Online Mental Health Support ForumsProceedings of the ACM on Human-Computer Interaction10.1145/33591693:CSCW(1-29)Online publication date: 7-Nov-2019
  • (2019)A Forensic Qualitative Analysis of Contributions to Wikipedia from Anonymity Seeking UsersProceedings of the ACM on Human-Computer Interaction10.1145/33591553:CSCW(1-26)Online publication date: 7-Nov-2019
  • (2019)Gradual parametricity, revisitedProceedings of the ACM on Programming Languages10.1145/32903303:POPL(1-30)Online publication date: 2-Jan-2019
  • (2017)Parametricity versus the universal typeProceedings of the ACM on Programming Languages10.1145/31581262:POPL(1-23)Online publication date: 27-Dec-2017
  • (2017)On polymorphic gradual typingProceedings of the ACM on Programming Languages10.1145/31102841:ICFP(1-29)Online publication date: 29-Aug-2017
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media