COMP SCI 353: Functional Programming
Course Description
Functional programming is a paradigm which views program output as a mathematical function of the input. A mathematical function has no side effects or state; functional programming emphasizes avoiding side effects, often by employing standard operations such as map, reduce, and filter. The absence of side effects, use of composable functions, and immutable data make reasoning about program behavior and proving correctness simpler, and source code more compact. Concurrency is straightforward, allowing functional programs to scale to large data sets or multiple processors.