Skip to main content Accesibility Help
×
×
Home

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

  • SIMON MARLOW (a1) and SIMON PEYTON JONES (a1)
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.

Copyright
Footnotes
Hide All
An earlier version of this paper appeared in the International Conference on Functional Programming 2004 (ICFP'04), pp. 4–15, ACM Press.
Footnotes
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Journal of Functional Programming
  • ISSN: 0956-7968
  • EISSN: 1469-7653
  • URL: /core/journals/journal-of-functional-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed

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

  • SIMON MARLOW (a1) and SIMON PEYTON JONES (a1)
Submit a response

Discussions

No Discussions have been published for this article.

×

Reply to: Submit a response


Your details


Conflicting interests

Do you have any conflicting interests? *