Ok, perhaps 'mapcar' was a bad example (I'm also not too good at explaining this stuff...) this is perhaps a better example:
Consider the function 'angle', this function takes two arguments - two points, and returns the angle between them.
What we are effectively doing is creating our own 'library functions' taking arguments just as functions such as 'angle' etc do.
In our previous examples, the 'dtr' function takes one argument (a real number) and returns a real number. (I too don't use degrees all too often - don't worry about it).
(defun dtr ( a )
(* pi (/ a 180.0))
)
Here, 'a' represents the argument (real number) that the user needs to provide in order to use the function.
Hence just as we do this:
(angle <pt1> <pt2>)
We can do this:
(dtr <real>)