The document discusses functional programming in R. It begins by explaining the differences between object-oriented/imperative and functional programming metaphysics. Functional programming treats things as fixed values undergoing processes over time rather than objects with state and behavior. The document then covers elements of functional programming like pure functions, recursion, and immutability. It explains how R is a strongly functional language and highlights features like vectorized functions and higher-order functions. It provides an example of a functional programming style bootstrap function to sample linear models.