3 citations found. Retrieving documents...
J. Hatcliff and O. Danvy. Thunks and the lambda calculus. Journal of Functional Programming, 7:303- 319, 1997.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Correct Code-Generation in a Generic Framework - Wolff, Meyer (2000)   (Correct)

....in FIX is the translation of the callby name versions of Lain and to their call by value counterparts Lain and respectively (for pairing and projection, the situation is similar) The key for a solution is the definition of the suspension resp. the forcing functions (see also [9]) delay : a: cpo = a del delay f = LAM x. f) force : a: cpo)del = a force f = f UNIT) where a del is a type synonym for Unit a. Note that delay and force are already pure SML and can thus be converted easily. These definition leads to the following derived theorem, ....

....a) forcify f) delay a) lazy2eager] where forcify is defined by LAM x. f (force x) The translation is possible by using this rule in all applications in FixLemg; however, this technique leads to quite inefficient code. A remedy to this problem well known from compiler construction [9] is a strictness analysis that we mimic in our approach by the following derived rules: is strict f = f a) lift f) a) is strict(LAM x. x) is strict(x. UU) is strict(strictify f) is strict(NOT) is strict(SUe) I a. is strict f I] is strict (x. f x a) I a. ....

J. Hatcliff and O. Danvy. Thunks and the lambda calculus. Journal of Functional Programming, 7:303- 319, 1997.


Correct Code-Generation in a Generic Framework - Wolff, Meyer   (Correct)

....code generation in FIX is the translation of the callby name versions of Lam and to their call by value counterparts Lam and respectively (for pairing and projection, the situation is similar) The key for a solution is the de nition of the suspension resp. the forcing functions (see also [9]) delay : a: cpo = a del delay f = LAM x. f) force : a: cpo)del = a force f = f UNIT) where a del is a type synonym for Unit a. Note that delay and force are already pure SML and can thus be converted easily. These de nition leads to the following derived theorem, ....

.... a) forcify f) delay a) lazy2eager] where forcify is de ned by LAM x. f (force x) The translation is possible by using this rule in all applications in FixLang; however, this technique leads to quite inecient code. A remedy to this problem well known from compiler construction [9] is a strictness analysis that we mimic in our approach by the following derived rules: is strict f = f a) lift f) a) is strict(LAM x. x) is strict( x. UU) is strict(strictify f) is strict(NOT) is strict(SUC) a. is strict f ] is strict ( x. f x a) a. ....

J. Hatcli and O. Danvy. Thunks and the lambda calculus. Journal of Functional Programming, 7:303- 319, 1997.


Dynamic Typing as Staged Type Inference - Shields, Sheard, Jones (1997)   (21 citations)  (Correct)

....on ff. We plan to introduce a new type quantifier for type variables which interact with dynamic values, thus restoring parametricity. Finally, we have presented dyn as a call by value calculus. Using the well known embedding of the call by name lambda calculus into the call by value calculus [14], we could use dyn as an intermediate language for a call by name language in which let bound expressions (which create thunks or closures, which we represent as deferred expressions) could be tagged as statically or dynamically typed. This could be used to add a simple form of dynamic typing to ....

J. Hatcliff and O. Danvy. Thunks and the lambda-calculus. Journal of Functional Programming, 7(3):303--319, May 1997.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC