[pgh-pm] More links: "How to make a fast curry: push/enter vs
eval/apply"
Tom Moertel
tom at moertel.com
Thu Mar 10 11:22:31 PST 2005
Here is the paper that I mentioned in response to Barrie's question
about how currying is implemented in functional programming languages:
"How to make a fast curry: push/enter vs eval/apply," Simon Marlow and
Simon Peyton Jones, Proc. International Conference on Functional
Programming, Snowbird, Sept 2004, pp4-15.
Abstract:
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.
http://research.microsoft.com/Users/simonpj/Papers/eval-apply/index.htm
Cheers,
Tom
More information about the pgh-pm
mailing list