Skip to content

Details

We're happy to have Jason Ganetsky, tech lead of storage for Google Cloud Pub/Sub, presenting on Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages (http://community.haskell.org/~simonmar/papers/evalapplyjfp06.pdf) by Simon Marlow and Simon Peyton Jones.

Intro

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.

Bio

Jason Ganetsky (https://about.me/jasonganetsky) (@ganetsky (https://twitter.com/ganetsky)) is a software engineer at Google. He is tech lead of storage for Google Cloud Pub/Sub (https://cloud.google.com/pubsub/docs). Prior to working at Google, Jason worked at various startups in NYC, and was briefly enrolled in a Computer Science PhD program at Carnegie Mellon. It was that brief stint that sparked the beginning of Jason's lifelong love of functional programming and type systems.

Members are also interested in