Skip to content
@3cps-project

3-CPS

Research into analysis and compilation techniques for higher-order languages

3CPS: An Environment-Centric IR for Compiling Strict Higher-Order Languages

3CPS is an NSF supported project on intermediate representations, analyses, and compiler optimizations for strict higher-order programming languages. At the center of our project lies an annotated CPS-based IR called 3CPS. The general annotation mechanism allows "facts" determined by program analysis and "decisions" determined by optimization policies to be associated with the program's representation. One of the most important classes of fact annotations is explicit information about the environment structure required to manage bindings of variables; this is designed to be closely connected to the run-time machine resources needed for these bindings (heap records, stack frames and registers). This information is key to mapping the source language efficiently onto these resources.

Publications

Analyzing binding extent in 3CPS
by Benjamin Quiring, John Reppy, and Olin Shivers.
Proceedings of the ACM on Programming Languages, Volume 6, Issue ICFP, Article Number 114, August 2022.
The artifacts associated with this paper can be found at either https://github.com/3cps-project/icfp2022-artifacts or https://zenodo.org/record/6958457.

3CPS: The Design of an Environment-Focussed Intermediate Representation
by Benjamin Quiring, John Reppy, and Olin Shivers.
Proceedings of the 33rd Symposium on Implementation and Application of Functional Languages (IFL ’21), September 2021.

People

The 3CPS project is led by John Reppy (University of Chicago) and Olin Shivers (Northeastern University). The currently active participants are (in alphabetical order):

  • Nathan Cantor (UChicago)
  • Benjamin Quiring (University of Maryland; previously at Northeastern)
  • John Reppy (UChicago)
  • Olin Shivers (Northeastern)
  • Skye Soss (UChicago)
  • Byron Zhong (UChicago)

Support

The 3CPS project is supported, in part, by the National Science Foundation under grant numbers 2212537 and 2212538.

Popular repositories Loading

  1. icfp2022-artifacts icfp2022-artifacts Public

    Artifacts for the ICFP 2022 paper: Analyzing Binding Extent in 3CPS

    Standard ML 2

  2. .github .github Public

    3-CPS: An Environment-Centric IR for Compiling Strict Functional Languages

Repositories

Showing 2 of 2 repositories
  • .github Public

    3-CPS: An Environment-Centric IR for Compiling Strict Functional Languages

    3cps-project/.github’s past year of commit activity
    0 BSD-3-Clause 0 0 0 Updated Mar 21, 2023
  • icfp2022-artifacts Public

    Artifacts for the ICFP 2022 paper: Analyzing Binding Extent in 3CPS

    3cps-project/icfp2022-artifacts’s past year of commit activity
    Standard ML 2 0 0 0 Updated Sep 8, 2022

Top languages

Standard ML

Most used topics

Loading…