The fundamental structure of the LISP programming language was derived from the abstract notions of lambda calculus and recursive function theory by John McCarthy.