This document discusses functions in LISP. It explains that functions are created using the defun macro, which defines a function name and parameters. The body of the function contains expressions, and the function returns the value of the last expression. Examples are given of defining simple functions to return hardcoded values, add a number, calculate a hypotenuse, and extract characters from a string. The document also provides examples of recursively defining the factorial function in both an iterative and recursive way.