@inproceedings{211c20418d7a4ea59bda779f71b3a624,
title = "Cactus Environment Machine: Shared Environment Call-by-Need",
abstract = "Existing machines for lazy evaluation use a flat representation of environments, storing the terms associated with free variables in an array. Combined with a heap, this structure supports the shared intermediate results required by lazy evaluation. We propose and describe an alternative approach that uses a shared environment to minimize the overhead of delayed computations. We show how a shared environment can act as both an environment and a mechanism for sharing results. To formalize this approach, we introduce a calculus that makes the shared environment explicit, as well as a machine to implement the calculus, the Cactus Environment Machine. A simple compiler implements the machine and is used to run experiments for assessing performance. The results show reasonable performance and suggest that incorporating this approach into real-world compilers could yield performance benefits in some scenarios.",
author = "George Stelle and Darko Stefanovic and Olivier, {Stephen L.} and Stephanie Forrest",
note = "Funding Information: Acknowledgments. This material is based upon work supported by the National Science Foundation under grant CCF-1422840, NSF (1518878,1444871), DARPA (FA8750-15-C-0118), AFRL (FA8750-15-2-0075), the Sandia National Laboratories Academic Alliance, and the Santa Fe Institute. Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy{\textquoteright}s National Nuclear Security Administration under contract DE-AC04-94AL85000. Funding Information: This material is based upon work supported by the National Science Foundation under grant CCF-1422840, NSF (1518878,1444871), DARPA (FA8750-15-C-0118), AFRL (FA8750-15-2-0075), the Sandia National Laboratories Academic Alliance, and the Santa Fe Institute. Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy{\textquoteright}s National Nuclear Security Administration under contract DE-AC04-94AL85000. Publisher Copyright: {\textcopyright} 2019, Springer Nature Switzerland AG.; 17th International Symposium on Trends in Functional Programming, TFP 2016 ; Conference date: 08-06-2016 Through 10-06-2016",
year = "2019",
doi = "10.1007/978-3-030-14805-8_2",
language = "English (US)",
isbn = "9783030148041",
series = "Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)",
publisher = "Springer Verlag",
pages = "24--43",
editor = "John Hughes and {Van Horn}, David",
booktitle = "Trends in Functional Programming - 17th International Conference, TFP 2016, Revised Selected Papers",
}