Abstract
The generation of Hamming numbers is used as a case study for discussing storage management for transient data structures in language processors.
- [1] E. W. Dijkstra, A Discipline of Programming, Prentice-Hall, 1976, pp. 129-134. Google ScholarDigital Library
- [2] P. Henderson, Functional Programming: Application and Implementation, Prentice-Hall, 1980, pp. 235-237. Google ScholarDigital Library
- [3] H. Abelson and G. J. Sussman, Structure and Interpretation of Computer Programs, MIT Press, 1985, p. 271. Google ScholarDigital Library
- [4] D. A. Turner, "Functional Programs as Executable Specifications", in C. A. R. Hoare and J. C. Shepherdson, Mathematical Logic and Programming Languages, Prentice-Hall, 1985, pp. 43-45. Google ScholarDigital Library
- [5] B. J. MacLennan, Functional Programming: Practice and Theory, Addison-Wesley, 1990, pp. 320-322. Google ScholarDigital Library
- [6] R. Bird and P. Wadler, Introduction to Functional Programming, Prentice-Hall, 1988, pp. 188-189. Google ScholarDigital Library
- [7] C. Reade, Elements of Functional Programming, Addison-Wesley, 1989, pp. 286-288. Google ScholarDigital Library
- [8] M. D. Feng and C. K. Yuen, A Transputer-Based Implementation Parallel Lisp Implementation, ACM Comp Sc Conf, March 1992, Kansas City, pp. 83-90. Google ScholarDigital Library
- [9] C. K. Yuen, M. D. Feng, W. F. Wong and J. J. Yee, Lisp: Languages and Architectures, Chapman and Hall, 1992. Google ScholarDigital Library
- [10] C. K. Yuen, What Model of Programming for Lisp: Sequential, Functional or Mixed? ACM SIGPLAN Notices, vol. 26, No. 10, October 1991, pp. 83-92. Google ScholarDigital Library
- [11] Arvind, R. S. Nikhil and K. K. Pingali, I-Structures: Data Structures for Parallel Computing, ACM Trans on Prog Lang Sys, vol. 11, October 1989, pp. 568-632. Google ScholarDigital Library
Index Terms
- Hamming numbers, lazy evaluation, and eager disposal
Recommendations
More haste, less speed: lazy versus eager evaluation
Nicholas Pippenger has recently given a problem that, under two simple restrictions, can be solved in linear time by an impure Lisp program, but requires Ω(n log n) steps to be solved by any eager pure Lisp program. By showing how to solve the problem ...
Lenient evaluation is neither strict nor lazy
What is a non-strict functional language? Is a non-strict language necessarily lazy? What additional expressiveness brings non-strictness, with or without laziness? This paper tries to shed some light on these questions. First, in order to characterize ...
The intractability of computing the Hamming distance
Given a string x and a language L, the Hamming distance of x to L is the minimum Hamming distance of x to any string in L. The edit distance of a string to a language is analogously defined.First, we prove that there is a language in AC0 such that both ...
Comments