Functional programming with quadtrees
- 1 January 1989
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Software
- Vol. 6 (1) , 90-97
- https://doi.org/10.1109/52.16906
Abstract
The authors consider the user of modern functional languages, which support user-defined data types, polymorphic types and functions, pattern matching, and several kinds of modularity, as well as two important features not found in most conventional languages: lazy evaluation and higher order functions. Coroutines, modularity, and parallelism are discussed. The authors describe how a functional language provides these modern features and how to exploit its advantages. The examples are written in Miranda, the most widely used modern functional language, but the techniques can be used in almost any modern functional language. They use quadtrees because they illustrate these features and techniques nicely.Keywords
This publication has 8 references indexed in Scilit:
- A theory of type polymorphism in programmingPublished by Elsevier ,2003
- Functional Programming for Concurrent and Distributed ComputingThe Computer Journal, 1987
- A Space-Efficient Optimization of Call-by-NeedIEEE Transactions on Software Engineering, 1987
- An overview of MirandaACM SIGPLAN Notices, 1986
- A Survey of Proposed Architectures for the Execution of Functional LanguagesIEEE Transactions on Computers, 1984
- The Quadtree and Related Hierarchical Data StructuresACM Computing Surveys, 1984
- Annotations to Control Parallelism and Reduction Order in the Distributed Evaluation of Functional ProgramsACM Transactions on Programming Languages and Systems, 1984
- Lazy Evaluation of Geometric ObjectsIEEE Computer Graphics and Applications, 1984