Author:
MARLOW SIMON,JONES SIMON PEYTON
Abstract
Higher-order languages that encourage currying are typically implemented using one of two basic evaluation models: push/enter or eval/apply. Implementors use their intuition and qualitative judgements to choose one model or the other. Our goal in this paper is to provide, for the first time, a more substantial basis for this choice, based on our qualitative and quantitative experience of implementing both models in a state-of-the-art compiler for Haskell. Our conclusion is simple, and contradicts our initial intuition: compiled implementations should use eval/apply.
Publisher
Cambridge University Press (CUP)
Cited by
28 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Type-Based Uncurrying for Unknown Function Calls;The 35th Symposium on Implementation and Application of Functional Languages;2023-08-29
2. Abstracting algebraic effects;Proceedings of the ACM on Programming Languages;2019-01-02
3. Cactus Environment Machine;Lecture Notes in Computer Science;2019
4. Foundations for Parallel Information Flow Control Runtime Systems;Lecture Notes in Computer Science;2019
5. Call Arity;Computer Languages, Systems & Structures;2018-06