Filters








32,623 Hits in 5.4 sec

Code optimizations for lazy evaluation

Adrienne Bloss, Paul Hudak, Jonathan Young
1988 LISP and Symbolic Computation  
Implementations of lazy evaluation for non-strict functional languages usually involve the notion of a delayed representation of the value of an expression, which we call a thunk.  ...  The optimizations depend on a compile-time inferencing strategy called path analysis, a generalization of strictness analysis that uncovers order-of-evaluation information.  ...  analysis, and to John Hughes for his many helpful comments..  ... 
doi:10.1007/bf01806169 fatcat:7zfkzyu72jcttdmnfisthbj7qe

Improving Lazy Non-Deterministic Computations by Demand Analysis

Michael Hanus, Marc Herbstritt
2012 International Conference on Logic Programming  
Functional logic languages combine lazy (demand-driven) evaluation strategies from functional programming with non-deterministic computations from logic programming.  ...  The lazy evaluation of nondeterministic subexpressions results in a demand-driven exploration of the search space: if the value of some subexpression is not required, the complete search space connected  ...  For future work, our demand analysis should be extended to enable the analysis of complete applications.  ... 
doi:10.4230/lipics.iclp.2012.130 dblp:conf/iclp/Hanus12 fatcat:brk5o7y5rvajrgcoiqkpnxgop4

Demand Analysis with Partial Predicates [article]

Julio Marino, Angel Herranz, Juan Jose Moreno-Navarro
2006 arXiv   pre-print
In order to alleviate the inefficiencies caused by the interaction of the logic and functional sides, integrated languages may take advantage of demand information -- i.e. knowing in advance which computations  ...  This will allow us to give a concise, unified presentation of demand analysis, to relate it to other analyses based on abstract interpretation or strictness logics, some hints for the implementation, and  ...  We also want to thank Enea Zaffanella and the anonymous referees for their valuable comments on earlier versions of this paper.  ... 
arXiv:cs/0602008v1 fatcat:eioee34xavgybc4pvujern3ncq

Weaving Parallel Threads [chapter]

José Manuel Calderón Trilla, Simon Poulding, Colin Runciman
2015 Lecture Notes in Computer Science  
As the speed of processors is starting to plateau, chip manufacturers are instead looking to multi-core architectures for increased performance.  ...  This allows the static analysis to find the safe parallelism and shift the burden of finding worthwhile parallelism to search.  ...  Fig. 1 . 1 Eager and Lazy evaluation order for squaring a value. Fig. 2 . 2 Semantics of seq and par.  ... 
doi:10.1007/978-3-319-22183-0_5 fatcat:wegfko3lvzfrfljimnmc27onqi

Page 4495 of Mathematical Reviews Vol. , Issue 97G [page]

1997 Mathematical Reviews  
Thus, it is important to have such a model of lazy evaluation in order to develop correct analyses.  ...  calculus for higher-order programming with constraints.  ... 

Liveness-Based Garbage Collection for Lazy Languages [article]

Prasanna Kumar. K and Amitabha Sanyal and Amey Karkare
2016 arXiv   pre-print
lazy languages.  ...  While this technique has already been shown to yield benefits for eager first-order languages, the lack of a statically determinable execution order and the presence of closures pose new challenges for  ...  In this paper, we propose the use of liveness analysis of heap cells for garbage collection (GC) in a lazy first-order functional language.  ... 
arXiv:1604.05841v2 fatcat:bj2yhieervgfzfegv5kjmvfena

A Naïve Time Analysis and its Theory of Cost Equivalence

DAVID SANDS
1995 Journal of Logic and Computation  
This paper begins with the development of a simple but useful calculus for time analysis of non-strict functional programs with lazy lists.  ...  Finally we show how a new operational interpretation of evaluation demands can be used to provide a smooth interface between this time analysis and more compositional approaches, retaining the advantages  ...  and constructive criticisms; in particular to John Hughes for suggesting that time analysis might be completely expressed in terms of cost equivalences.  ... 
doi:10.1093/logcom/5.4.495 fatcat:tht7uexqanclnk76bq626se2yu

Applications of Functional Programming edited by Colin Runciman and David Wakeling, UCL Press Limited, 1995

Rex Page
1998 Journal of functional programming  
This was accomplished primarily through the extensive re-use of certain higher-order functions, with some interplay with lazy evaluation.  ...  Other codes presented in the book were also concise, compared to implementations in conventional languages, but usually more on the order of factors of three to five.  ...  The real price of its features cannot be estimated until the effort invested in compilers for lazy functional languages begins to approach the effort that has been invested in compilers for conventional  ... 
doi:10.1017/s0956796898003232 fatcat:orqce4yxn5e53mllodzkpkacma

An Integrated Development Environment for Declarative Multi-Paradigm Programming [article]

Michael Hanus, Johannes Koj
2001 arXiv   pre-print
To support the latter feature, the lazy evaluation strategy of the underlying implementation language Curry becomes quite useful.  ...  CIDER is a graphical environment to support the development of Curry programs by providing integrated tools for the analysis and visualization of programs.  ...  This demands for a unique interface for the implementation of each program analysis to be integrated into CIDER.  ... 
arXiv:cs/0111039v2 fatcat:pwahgntrwng5tnuq4pe5uyhwla

Lazy XSL transformations

Steffen Schott, Markus L. Noga
2003 Proceedings of the 2003 ACM symposium on Document engineering - DocEng '03  
While this is possible for all languages, most imperative languages cannot profit from the confluence of lambda as only one reduction applies at a time.  ...  To demonstrate that lazy evaluation preserves the semantics of XSLT, we reduce XSLT to the lambda calculus via a functional language.  ...  A necessary and sufficient condition for lazy evaluation is confluence of the programming language -i.e., it must be possible to reduce expressions in arbitrary order without changing their result.  ... 
doi:10.1145/958222.958224 fatcat:oqmew5ltbzbfzgw3kr6c55p3pe

A demand driven computation strategy for lazy narrowing [chapter]

Rita Loogen, Francisco López Fraguas, Mario Rodríguez Artalejo
1993 Lecture Notes in Computer Science  
This paper speci es a computation strategy for lazy conditional narrowing, based on the idea of transforming patterns into decision trees to control the computation.  ...  The speci cation is presented as a translation of CTRS into Prolog, which makes it executable and portable. Moreover, in comparison to related approaches, our method works for a wider class of CTRS. ?  ...  Acknowledgement While preparing the nal version of the paper, we got some comments from Sergio Antoy and Michael Hanus. We are grateful for their interest in our work.  ... 
doi:10.1007/3-540-57186-8_79 fatcat:hawauho3uzdefhzqef72w3r2mq

Strategies in Programming Languages Today

Salvador Lucas
2005 Electronical Notes in Theoretical Computer Science  
This paper provides a brief account of motivation, themes, and research directions leading to the round table on Strategies in Programming Languages Today organized as part of the 4th International Workshop  ...  implemented and used in that way; new commands for achieving the exhaustive evaluation and normalization of initial expressions; an extension of the aforementioned strategy language to cope with on-demand  ...  Since there are a number of overheads in the implementation of this feature, lazy functional languages like Haskell allow for explicit syntactic annotations on the arguments of datatype constructors, thus  ... 
doi:10.1016/j.entcs.2004.11.023 fatcat:vhjy5bienzd2rfk265yuuwa5um

Lazy XSL transformations

Steffen Schott, Markus L. Noga
2003 Proceedings of the 2003 ACM symposium on Document engineering - DocEng '03  
While this is possible for all languages, most imperative languages cannot profit from the confluence of lambda as only one reduction applies at a time.  ...  To demonstrate that lazy evaluation preserves the semantics of XSLT, we reduce XSLT to the lambda calculus via a functional language.  ...  A necessary and sufficient condition for lazy evaluation is confluence of the programming language -i.e., it must be possible to reduce expressions in arbitrary order without changing their result.  ... 
doi:10.1145/958220.958224 dblp:conf/doceng/SchottN03 fatcat:w37tzlyrpbcqdcfjferj6vyzfy

Extending constructive negation for partial functions in lazy functional-logic languages [chapter]

Juan José Moreno-Navarro
1996 Lecture Notes in Computer Science  
In this paper the mechanism of Default Rules for narrowingbased languages proposed in 24] is adapted to lazy narrowing. Every partial de nition of a function can be completed with a default rule.  ...  Lazy narrowing semantics are extended with the technique of constructive negation 4, 5, 27].  ...  Demandedness analysis is used to infer the so called dependent demand patterns, that specify the nite or in nite (regular) degree of evaluation for every function, without penalization of the lazy behaviour  ... 
doi:10.1007/3-540-60983-0_15 fatcat:66f3bhxubzdhhnndp6ypukjfyu

Uniform Lazy Narrowing

M. Alpuente
2003 Journal of Logic and Computation  
We investigate the formal relation between needed narrowing and another (not so lazy) narrowing strategy which is the basis for popular implementations of lazy functional logic languages.  ...  Needed narrowing is a complete and optimal operational principle for modern declarative languages which integrate the best features of lazy functional and logic programming.  ...  Acknowledgements We gratefully acknowledge the anonymous referees for many useful suggestions.  ... 
doi:10.1093/logcom/13.2.287 fatcat:ui3pkqxg5rfffp2i2lapladeou
« Previous Showing results 1 — 15 out of 32,623 results