Filters








31,722 Hits in 3.7 sec

On the design, implementation, and use of laziness in R

Aviral Goel, Jan Vitek
2019 Proceedings of the ACM on Programming Languages (PACMPL)  
This paper presents a review of the design and implementation of call-by-need in R, and a data-driven study of how generations of programmers have put laziness to use in their code.  ...  For the most part R code appears to have been written without reliance on, and in many cases even knowledge of, delayed argument evaluation.  ...  Early prototypes of our analysis were implemented by Konrad Siek and Jan Noha, we thank them for their contribution.  ... 
doi:10.1145/3360579 fatcat:xqcizpoas5ejnkewxqtrzo4ski

Design and Verification of Lazy and Hybrid Implementations of the SELF Protocol [chapter]

Eliyah Kilada, Kenneth S. Stevens
2012 IFIP Advances in Information and Communication Technology  
The design space of lazy SELF protocols is evaluated and verified.  ...  Several new designs are mapped to hybrid eager/lazy implementations that retain the performance advantage of the eager design but have power advantages of lazy implementations.  ...  Acknowledgments The authors like to thank Shomit Das for his help in the place and route and layout of the 0.5 µm chips.  ... 
doi:10.1007/978-3-642-28566-0_9 fatcat:kdnl6ii4jbbfdei4dx6xw5grkq

Design patterns for lazy evaluation

Dung Nguyen, Stephen B. Wong
2000 Proceedings of the thirty-first SIGCSE technical symposium on Computer science education - SIGCSE '00  
We propose an object-oriented (OO) formulation and implementation of lazy/delayed evaluation by reusing and extending an existing linear recursive structure (LRS) framework with the help of the strategy  ...  The OO techniques used to develop this model are effective tools for teaching abstraction and design of data structures.  ...  Acknowledgment We thank Robert "Corky" Cartwright who shared his Java code for the Sieve of Eratosthenes using functional Scheme-like style and inspired us to write this paper.  ... 
doi:10.1145/330908.331803 dblp:conf/sigcse/NguyenW00 fatcat:rrtrgv4jlfd2nfxj4n2xqcabsm

Design patterns for lazy evaluation

Dung Nguyen, Stephen B. Wong
2000 ACM SIGCSE Bulletin  
We propose an object-oriented (OO) formulation and implementation of lazy/delayed evaluation by reusing and extending an existing linear recursive structure (LRS) framework with the help of the strategy  ...  The OO techniques used to develop this model are effective tools for teaching abstraction and design of data structures.  ...  Acknowledgment We thank Robert "Corky" Cartwright who shared his Java code for the Sieve of Eratosthenes using functional Scheme-like style and inspired us to write this paper.  ... 
doi:10.1145/331795.331803 fatcat:xj37y56hubhvtjhxisc3wbcpzy

Profiling for laziness

Stephen Chang, Matthias Felleisen
2014 Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL '14  
Finally, we present evidence that our profiler's suggestions either match or improve on an expert's use of laziness in a range of realworld applications.  ...  We present a profiling-based technique that captures and automates this expertise for the insertion of laziness annotations into strict programs.  ...  Acknowledgments We thank Greg Morrisett for initial inspiration, Asumu Takikawa and J. Ian Johnson for reading drafts, and the reviewers for their suggestions.  ... 
doi:10.1145/2535838.2535887 dblp:conf/popl/ChangF14 fatcat:j64r4yzccrb73ok25xokcsi5vu

The role of lazy evaluation in amortized data structures

Chris Okasaki
1996 SIGPLAN notices  
We use these techniques to develop new implementations of FIFO queues and binomial queues.  ...  Traditional techniques for designing and analyzing amortized data structures in an imperative setting are of limited use in a functional setting because they apply only to singlethreaded data structures  ...  It is possible to implement these primitives in Standard ML using references and assignments, but not with the same degree of polymorphism.  ... 
doi:10.1145/232629.232636 fatcat:g75axggwpze4nn7giwgdtw7u3i

The role of lazy evaluation in amortized data structures

Chris Okasaki
1996 Proceedings of the first ACM SIGPLAN international conference on Functional programming - ICFP '96  
We use these techniques to develop new implementations of FIFO queues and binomial queues.  ...  Traditional techniques for designing and analyzing amortized data structures in an imperative setting are of limited use in a functional setting because they apply only to singlethreaded data structures  ...  It is possible to implement these primitives in Standard ML using references and assignments, but not with the same degree of polymorphism.  ... 
doi:10.1145/232627.232636 dblp:conf/icfp/Okasaki96 fatcat:wsehsqo7fzhnzdwtivowe3toha

Synchronous elasticization: Considerations for correct implementation and MiniMIPS case study

Eliyah Kilada, Shomit Das, Kenneth Stevens
2010 2010 18th IEEE/IFIP International Conference on VLSI and System-on-Chip  
We finally show the architectural performance advantage of eager over lazy protocols in the presence of bubbles in the MiniMIPS.  ...  Latency insensitivity is a promising design paradigm in the nanometer era since it has potential benefits of increased modularity and robustness to variations.  ...  ACKNOWLEDGMENTS This work was supported by the National Science Foundation under grant CCF-0810408.  ... 
doi:10.1109/vlsisoc.2010.5642631 dblp:conf/vlsi/KiladaDS10 fatcat:cctkswcuubagza3ivwxpxzbzzi

Refereeing conflicts in hardware transactional memory

Arrvindh Shriraman, Sandhya Dwarkadas
2009 Proceedings of the 23rd international conference on Conference on Supercomputing - ICS '09  
and the performance implications of the various points in the design space.  ...  In this paper, we analyze the interplay between conflict resolution time and contention management policy in the context of hardware-supported TM systems, highlighting both the implementation tradeoffs  ...  Feedback methods indicate to the transaction, based on who the enemy and attacker are, the information the contention manager has on their progress, and what type of conflict is detected (R-W, W-R, or  ... 
doi:10.1145/1542275.1542299 dblp:conf/ics/ShriramanD09 fatcat:375zggimkzgwdkcx2xjchjrqte

Catenable double-ended queues

Chris Okasaki
1997 Proceedings of the second ACM SIGPLAN international conference on Functional programming - ICFP '97  
Their implementation uses a technique called recursive slowdown, while ours relies on the simpler mechanism of lazy evaluation.  ...  Besides lazy evaluation, our implementation also exemplifies the use of two additional language features: polymorphic recursion and views.  ...  All in all, as long as our design and Kaplan and Tarjan's design are both implemented using lazy evaluation or both using recursive slowdown, there is little reason to prefer one over the other on the  ... 
doi:10.1145/258948.258956 dblp:conf/icfp/Okasaki97 fatcat:lmntagivzvglnkiyiyfntpzcey

set6: R6 Mathematical Sets Interface

Raphael Sonabend, Franz Kiraly
2020 Journal of Open Source Software  
Until now, the R (R Core Team, 2017) programming language has traditionally supported mathematical sets in one of two ways: 1. via the five set operation functions: union, intersect, setdiff, setequal,  ...  Making use of design patterns (Gamma et al., 1996), such as wrappers and compositors, set6 allows for symbolic representation of sets to ensure maximum efficiency, and to provide neat and clear print methods  ...  Related software in R includes sets (Meyer & Hornik, 2009) , which uses the S3 and S4 objectoriented paradigms to implement mathematical sets.  ... 
doi:10.21105/joss.02598 fatcat:7pmekdwllzgcnkqdxvjt26gv3q

Bioclojure: a functional library for the manipulation of biological sequences

J. Plieskatt, G. Rinaldi, P. J. Brindley, X. Jia, J. Potriquet, J. Bethony, J. Mulvenna
2014 Bioinformatics  
Motivation: BioClojure is an open-source library for the manipulation of biological sequence data written in the language Clojure.  ...  Availability and implementation: BioClojure is distributed under the Lesser GPL, and the source code is freely available from GitHub  ...  designed to be lazy and composable in this way, and thus, more complex examples of these simple lazily evaluated pipelines can be developed.  ... 
doi:10.1093/bioinformatics/btu311 pmid:24794932 pmcid:PMC4147884 fatcat:bgtawyl3pjauzb6doxbayp74mq

The design principles of a weighted finite-state transducer library

Mehryar Mohri, Fernando Pereira, Michael Riley
2000 Theoretical Computer Science  
Besides its mathematical foundation, the design also draws from important ideas in algorithm design and programming languages: dynamic programming and shortest-paths algorithms over general semirings,  ...  We describe the algorithmic and software design principles of an object-oriented library for weighted ÿnite-state transducers.  ...  To do so, one just needs to use the algorithm with the string semiring ( * ∪ {∞}; ∧ ; ·; ∞; ) [21] in the case of transducers, with the semirings (R; +; ·; 0; 1) and (R + ; min; +; ∞; 0) in the other  ... 
doi:10.1016/s0304-3975(99)00014-6 fatcat:fguty4gp5rca3esuvvm3ovntmm

Multivariate Power Series in Maple [article]

Mohammadali Asadi, Alexander Brandt, Mahsa Kazemi, Marc Moreno Maza, Erik Postma
2021 arXiv   pre-print
This library offers a simple and easy-to-use user interface. Its implementation relies on lazy evaluation techniques and takes advantage of Maple's features for object-oriented programming.  ...  We present MultivariatePowerSeries, a Maple library introduced in Maple 2021, providing a variety of methods to study formal multivariate power series and univariate polynomials over such series.  ...  Acknowledgements The authors would like to thank MITACS of Canada (award IT19704) and NSERC of Canada (award CGSD3-535362-2019).  ... 
arXiv:2106.15519v1 fatcat:yap2i5vh4zcbfkf5ftcq2rk2iy

Hierarchical decoding to reduce hardware requirements for quantum computing [article]

Nicolas Delfosse
2020 arXiv   pre-print
Finally, the lazy decoder can be used as a decoder accelerator. Our simulations show a 10x speed-up of the Union-Find decoder and a 50x speed-up of the Minimum Weight Perfect Matching decoder.  ...  Provided very good qubits with error rate p=10^-5, we obtain a 1,500x reduction in bandwidth and decoding hardware thanks to the lazy decoder.  ...  Error correction is based on the measurement of r = d 2 − 1 syndrome bits, extracted using syndrome measurement circuits implemented on the plaquettes of the qubit grid as shown in Fig. 2 .  ... 
arXiv:2001.11427v1 fatcat:xw2onxuqd5gqbpnysmbp4sckka
« Previous Showing results 1 — 15 out of 31,722 results