Compiling without continuations (2017)

(dl.acm.org)

33 points | by fanf2 1273 days ago

2 comments

  • carterschonwald 1272 days ago
    So the main important idea I think this paper does is articulate and name a construct that appears in a lot of high level compilers already!

    In functional languages, you want a sort of lexically scoped basic block that doesn’t need closure allocation to represent each branch/right hand side of a case/match expression.

    In oop compilers, you’re gonna want a very similar internal to represent object methods, because again your methods all share the same object/closure environment.

    They then are also useful to represent mutually recursive /goto basic blocks

    • cardiffspaceman 1271 days ago
      I thought it was interesting that this construct is linked in the paper to a slight variant of System F, which tells me that (a) it's probably pretty rigorously rationalized (b) it can be utilized in future formal work, so (c) future formal work doesn't have to do closure allocation as much.
  • andrewflnr 1272 days ago