(defun my-square (x)

(* x x))

Let's break this down:

*defun*is a function used to define new functions.

*my-square*is the name that we've given to our function, we could call it almost anything we like but it makes to give it a useful name so that we can remember it later.

*x*is the argument or input to our function. Again we could call this almost anything we like.

*(* x x)*This is where the actual work of our function takes place, we using the

*multiply*function and multiplying x by itself.

When you have written and evaluated this function, it can be called and used just any other function:

(my-square 5)

25

(my-square 9)

81

It's good practice to comment your function, both so that others can understand it quickly and easily and for yourself.

(defun my-square (x)

*"this function squares an input number x"*

(* x x))

Using double quotes " " adds a definition to your function, these can only be used after you have defined the input arguments.

A more versatile way of adding comments that can be used anywhere is to use semicolons, anything after the semicolon is ignored:

(defun my-square (x)

*"this function squares an input number x"*

(* x x))

*; this line squares x*

We'll work more on writing new functions tomorrow, for now see if you can write these functions, answers in tomorrow's post:

*minus-one*a function that takes a single number as input and returns the number that is one less

*ten-times-bigger*a function that takes a single number as input and returns the number that is ten times bigger

*weeks-to-days*a function that takes a number of weeks as input and returns the total number of equivalent days

These examples may seem simple, however this is a really good stepping stone to learn how to build much more powerful functions in Lisp. Answers and more on building functions tomorrow...