Litcius/Paper detail

From folklore to fact: comparing implementations of stacks and continuations

Kavon Farvardin, John Reppy

202017 citationsDOIOpen Access PDF

Abstract

The efficient implementation of function calls and non-local control transfers is a critical part of modern language implementations and is important in the implementation of everything from recursion, higher-order functions, concurrency and coroutines, to task-based parallelism. In a compiler, these features can be supported by a variety of mechanisms, including call stacks, segmented stacks, and heap-allocated continuation closures.

Topics & Concepts

Computer scienceImplementationCompilerProgramming languageContinuationConcurrencyParallel computingHeap (data structure)Recursion (computer science)Parallelism (grammar)Theoretical computer scienceParallel Computing and Optimization TechniquesLogic, programming, and type systemsDistributed systems and fault tolerance