Sciweavers

ICFP
2004
ACM

Making a fast curry: push/enter vs. eval/apply for higher-order languages

14 years 11 months ago
Making a fast curry: push/enter vs. eval/apply for higher-order languages
Higher-order languages that encourage currying are 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. Categories and Subject Descriptors: D.3.2 [Programming Languages]: Language Classifications--Applicative (functional) languages General Terms: Languages, Performance
Simon Marlow, Simon L. Peyton Jones
Added 13 Dec 2009
Updated 13 Dec 2009
Type Conference
Year 2004
Where ICFP
Authors Simon Marlow, Simon L. Peyton Jones
Comments (0)