Hardware-Assisted and Target-Directed Evaluation of Functional Programs
Matthew F. Naylor · 2008
A new reduction machine for lazy functional languages called the Reduceron is proposed. The Reduceron exploits wide, parallel memories to increase evaluation speed, and is prototyped in programmable hardware. It is compared with conventional machines by a theoretical analysis and by an experimental comparison. It is shown that the use of wide, parallel memories in a graph reduction machine can lead to a factor of five performance improvement. Existing approaches to property-based testing are reviewed, and two new ones – Reach and Lazy SmallCheck – are developed. Reach is a program analyser that targets evaluation of expressions left uncovered by existing testing techniques, and Lazy SmallCheck is a lightweight library for a standard lazy functional language. Both are more effective than existing approaches