Open main menu

defun (short for "define function") is a macro in the Lisp family of programming languages that defines a function in the global environment[1] that uses the form:

(defun <function-name> (<parameter-1> <parameter-2> ... <parameter-N>) 
  "optional documentation"

Defining the function addnumbers that adds two numbers:

 ;; Define a function that adds two numbers together:
 (defun addnumbers (number1 number2)
   (+ number1 number2))
 (addnumbers 5 4)

Defining function square that squares a number:

 ;; Define a function that squares a number:
 (defun square (x) 
   (* x x))
 (square 4)

Defining a function that returns the factorial of a number:

 (defun factorial (number)
   "calculates the factorial"
   (if (= number 1)
       (* number (factorial (- number 1)))))
 (factorial 6)

See alsoEdit


  1. ^ "Macro DEFUN". LispWorks Ltd.

External linksEdit