Basics: Functional Programming in Coq
BRANK

BasicsFunctional Programming in CoqIntroductionThe functional style of programming is founded on simple, everyday mathematical intuition: If a procedure or method has no side effects, then (ignoring efficiency) all we need to understand about it is how it maps inputs to outputs -- that is, we can think of it as just a concrete method for computing a mathematical function. This is one sense of the word "functional" in "functional programming." The direct connection between programs and simple mathematical objects supports both formal correctness proofs and sound informal reasoning about program behavior.The other sense in which functional programming is "functional" is that it emphasizes the use of functions asfirst-classvalues -- i.e., values that can be passed as arguments to other functions, returned as results, included in data structures, etc. The recognition that functions can be treated as data gives rise to a host of useful and powerful programming idioms.Other common features …

softwarefoundations.cis.upenn.edu
Related Topics: Software Design Functional Programming