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.
- 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.Google ScholarCross Ref
- E. De Vries, R. Plasmeijer, and D. Abrahamson. Uniqueness typing simplified. Implementation and Application of Functional Languages, pages 201--218, 2008. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- J. Gustavsson. A type based sharing analysis for update avoidance and optimisation, volume 34. ACM, 1998.Google Scholar
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- J. Launchbury, A. Gill, J. Hughes, S. Marlow, S. Jones, and P. Wadler. Avoiding unnecessary updates. Functional Programming, Glasgow, pages 144--153, 1992. Google ScholarDigital Library
- 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. Google ScholarDigital Library
- H. Verstoep. Counting analyses, 2013. MSc thesis, http://www.cs.uu.nl/wiki/Hage/CountingAnalyses.Google Scholar
- K. Wansbrough. Simple polymorphic usage analysis. PhD thesis, University of Cambridge, 2002.Google Scholar
Index Terms
- Polyvariant Cardinality Analysis for Non-strict Higher-order Functional Languages: Brief Announcement
Recommendations
Modular, higher-order cardinality analysis in theory and practice
POPL '14Since the mid '80s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and ...
Polyvariant flow analysis with higher-ranked polymorphic types and higher-order effect operators
ICFP '10We present a type and effect system for flow analysis that makes essential use of higher-ranked polymorphism. We show that, for higher-order functions, the expressiveness of higher-ranked types enables us to improve on the precision of conventional let-...
Modular, higher-order cardinality analysis in theory and practice
POPL '14: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming LanguagesSince the mid '80s, compiler writers for functional languages (especially lazy ones) have been writing papers about identifying and exploiting thunks and lambdas that are used only once. However it has proved difficult to achieve both power and ...
Comments