ABSTRACT
We define an operational semantics for lazy evaluation which provides an accurate model for sharing. The only computational structure we introduce is a set of bindings which corresponds closely to a heap. The semantics is set at a considerably higher level of abstraction than operational semantics for particular abstract machines, so is more suitable for a variety of proofs. Furthermore, because a heap is explicitly modelled, the semantics provides a suitable framework for studies about space behaviour of terms under lazy evaluation.
- Abr90.S.Abramsky, The Lazy Lambda Calculus, in D.Turner ed., Declarative Programming, Addison-Wesley, } 990.Google Scholar
- AA91.Z.Ariola and Arvind, A Syntactzc Approach to Program Transformations, in Proc. SIGPLAN PEPM 91, New Haven, pp 116-129, 1991. Google ScholarDigital Library
- ANP89.Arvind, R.Nikhil and K.Pingali, I-Structures: Data Structures for Parallel Computing, in TOPLAS (11) 4 pp 598-632, Oct 1989. Google ScholarDigital Library
- FW87.J.Fairbairn and S.Wray, A S~mple Lazy Abstract-Machine to Execute Supercombmatots, in Proc. FPCA, Portland, pp 34-45, S- V, 1987. Google ScholarDigital Library
- Jon84.T.Johnsson, ELficzent Compilation of Lazy Evaluation, in Proc. SIGPLAN Symp. on Compiler Construction, SIGPLAN Notices 19 pp 58-59, 1984. Google ScholarDigital Library
- Jos89.M.Josephs, The Semantics of Lazy Fu~ctional Languages, in TCS 68, pp 105-111, 1989. Google ScholarDigital Library
- KL89.P.Koopman and P.Lee, A Fresh Look at Combinator Graph Reduction, m SIGPLAN PLDI 89, Portland, pp 110-119, 1989. Google ScholarDigital Library
- Lau92.J.Launchbury, A.Gill, J.Hughes, S.Marlow, S.Peyton Jones and P.Wadler, Avoiding Unnecessary Updates, Glasgow Functional Programming Workshop, Ayr, (draft proceedings), 1992. Google ScholarDigital Library
- Lév80.J.-J.L~vy, Optzmal Reductions in the Lambda Calculus, in Seldin and Hindley eds., ~/b H.B. Curry: Essays in Combinatory Logic, Lambda Calculus and Formahsm, pp }59-19!, Academic Press, 1980.Google Scholar
- Mar91.L.Maranget, Optimal Der'zvations "tn Weak Lambda-calculi and in Orth~lonal Term Rewriting Systems, in Proc SIGPLA~ POPL 91, Orlando, pp 255-269, }991. Google ScholarDigital Library
- Ong88.C.-H.L.Ong, The Lazy Larnbda Calculus: An Investzgation in the Foundations of Functwnal Programming, Phi)Thesis, Imperial College, London, 1988.Google Scholar
- Pey92.S.Peyton Jones, Implementing Lazy Functional Languages on Stock Hardware: the Spineless Tagless G-Machine, Journal of Functional Programming, CUP, 1992, to appear.Google Scholar
- PL91.S.Peyton Jones and D.Lester, A Fuliy-La2y Lambda-Lifter in Haskell, Software Practice and Experience, 21 (5), pp 479-506, 1991. Google ScholarDigital Library
- PS92.S.Purushothaman and J.Seaman, An Adequate Operational Semantics of Sharing zn Lazy Evaluation, in Proc ESOP 92, Rennes, S-V, 1992. Google ScholarDigital Library
- SP92.P.Sansom and S.Peyton Jones, Profiling Lazy Functional Languages, Glasgow Functional Programming Workshop, ttyr, (draft proceedings) ,1992. Google ScholarDigital Library
Index Terms
- A natural semantics for lazy evaluation
Recommendations
Distributed Lazy Evaluation: A Big-Step Mechanised Semantics
PDP '14: Proceedings of the 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based ProcessingThis paper presents a big-step operational semantics for distributed lazy evaluation. Our semantics is an extension to the famous heap-based semantics of Launchbury for lazy evaluation. The high level of abstraction in our semantics helps us to easily ...
An operational semantics for parallel lazy evaluation
ICFP '00: Proceedings of the fifth ACM SIGPLAN international conference on Functional programmingWe present an operational semantics for parallel lazy evaluation that accurately models the parallel behaviour of the non-strict parallel functional language GpH. Parallelism is modelled synchronously, that is, single reductions are carried out ...
Comments