skip to main content
10.1145/2678015.2682536acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
research-article

Polyvariant Cardinality Analysis for Non-strict Higher-order Functional Languages: Brief Announcement

Published: 13 January 2015 Publication History

Abstract

In this brief announcement we outline work we have done on defining a polyvariant cardinality analysis for a non-strict higher-order language equipped with user defined datatypes and explicit strictness that includes sharing analysis, absence analysis, strictness analysis and uniqueness typing as a special case. It aims to be the basis of an analysis framework in a compiler for a Haskell-like language, that does not have access to an aggressive inliner such as the one present in GHC.

References

[1]
E. Barendsen, S. Smetsers, et al. Uniqueness typing for functional languages with graph rewriting semantics. Mathematical Structures in Computer Science, 6(6):579--612, 1996.
[2]
E. De Vries, R. Plasmeijer, and D. Abrahamson. Uniqueness typing simplified. Implementation and Application of Functional Languages, pages 201--218, 2008.
[3]
A. Dijkstra, J. Fokker, and S. D. Swierstra. The architecture of the Utrecht Haskell Compiler. In Haskell '09: Proceedings of the 2nd ACM SIGPLAN Symposium on Haskell, pages 93--104, New York, NY, USA, 2009. ACM.
[4]
J. Gustavsson. A type based sharing analysis for update avoidance and optimisation, volume 34. ACM, 1998.
[5]
J. Hage and S. Holdermans. Heap recycling for lazy languages. In Proceedings of the 2008 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 189--197. ACM, 2008.
[6]
J. Hage, S. Holdermans, and A. Middelkoop. A generic usage analysis with subeffect qualifiers. In ACM SIGPLAN Notices, volume 42, pages 235--246. ACM, 2007.
[7]
S. Holdermans and J. Hage. Making stricterness more relevant. In Proceedings of the 2010 ACM SIGPLAN workshop on Partial evaluation and program manipulation, pages 121--130. ACM, 2010.
[8]
S. Holdermans and J. Hage. Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators. In Proceedings of the 15th ACM SIGPLAN 2010 International Conference on Functional Programming (ICFP '10), pages 63--74. ACM Press, 2010.
[9]
J. Launchbury, A. Gill, J. Hughes, S. Marlow, S. Jones, and P. Wadler. Avoiding unnecessary updates. Functional Programming, Glasgow, pages 144--153, 1992.
[10]
I. Sergey, D. Vytiniotis, and S. Peyton Jones. Modular, higher-order cardinality analysis in theory and practice. In Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL '14, pages 335--347, New York, NY, USA, 2014. ACM.
[11]
H. Verstoep. Counting analyses, 2013. MSc thesis, http://www.cs.uu.nl/wiki/Hage/CountingAnalyses.
[12]
K. Wansbrough. Simple polymorphic usage analysis. PhD thesis, University of Cambridge, 2002.

Cited By

View all
  • (2020)Finding Bugs in File Systems with an Extensible Fuzzing FrameworkACM Transactions on Storage10.1145/339120216:2(1-35)Online publication date: 18-May-2020
  • (2020)On Fault Tolerance, Locality, and Optimality in Locally Repairable CodesACM Transactions on Storage10.1145/338183216:2(1-32)Online publication date: 22-May-2020
  • (2018)Abstract allocation as a unified approach to polyvariance in control-flow analysesJournal of Functional Programming10.1017/S095679681800013828Online publication date: 1-Aug-2018
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
PEPM '15: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation
January 2015
152 pages
ISBN:9781450332972
DOI:10.1145/2678015
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]

Sponsors

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 13 January 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. absence analysis
  2. cardinality analysis
  3. polyvariance
  4. sharing analysis
  5. type-based program analysis
  6. uniqueness typing
  7. usage analysis

Qualifiers

  • Research-article

Conference

POPL '15
Sponsor:

Acceptance Rates

PEPM '15 Paper Acceptance Rate 14 of 27 submissions, 52%;
Overall Acceptance Rate 66 of 120 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2020)Finding Bugs in File Systems with an Extensible Fuzzing FrameworkACM Transactions on Storage10.1145/339120216:2(1-35)Online publication date: 18-May-2020
  • (2020)On Fault Tolerance, Locality, and Optimality in Locally Repairable CodesACM Transactions on Storage10.1145/338183216:2(1-32)Online publication date: 22-May-2020
  • (2018)Abstract allocation as a unified approach to polyvariance in control-flow analysesJournal of Functional Programming10.1017/S095679681800013828Online publication date: 1-Aug-2018
  • (2017)Improved Algorithms for Topic Distillation in a Hyperlinked EnvironmentACM SIGIR Forum10.1145/3130348.313036751:2(194-201)Online publication date: 2-Aug-2017
  • (2017)Modular, higher order cardinality analysis in theory and practiceJournal of Functional Programming10.1017/S095679681700001627Online publication date: 16-Feb-2017
  • (2016)Autobahn: using genetic algorithms to infer strictness annotationsACM SIGPLAN Notices10.1145/3241625.297600951:12(114-126)Online publication date: 8-Sep-2016
  • (2016)String diagrams for free monads (functional pearl)ACM SIGPLAN Notices10.1145/3022670.295194751:9(490-501)Online publication date: 4-Sep-2016
  • (2016)A fully concurrent garbage collector for functional programs on multicore processorsACM SIGPLAN Notices10.1145/3022670.295194451:9(421-433)Online publication date: 4-Sep-2016
  • (2016)A lambda-calculus foundation for universal probabilistic programmingACM SIGPLAN Notices10.1145/3022670.295194251:9(33-46)Online publication date: 4-Sep-2016
  • (2016)Combining effects and coeffects via gradingACM SIGPLAN Notices10.1145/3022670.295193951:9(476-489)Online publication date: 4-Sep-2016
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media