Why Functional Programming Matters
As software becomes more and more complex, it is more and more important to structure it well. Well-structured software is easy to write and to debug, and provides a collection of modules that can be reused to reduce future programming costs. The paper to be presented shows that two features of functional languages in particular, higher-order functions and lazy evaluation, can contribute significantly to modularity. As examples, we manipulate lists and trees, program several numerical algorithms, and implement the alpha-beta heuristic (an algorithm from Artificial Intelligence used in game-playing programs). We conclude that since modularity is the key to successful programming, functional programming offers important advantages for software development.
Andrew Sinclair enjoys many aspects of Computer Science including algorithms, languages, and programming challenges. He prefers to use a good ol’ text editor and regular expressions when they will suffice to solve a problem. While away from the computer, he is often found tabletop gaming and going to user groups. Andrew is passionate about gratuitous use of hotkeys and macros.