Assignment: #lisp1 Due: 11/24/2017 Points: 6
[0] Who is considered the "father" of Lisp?

[1] Write a Lisp expression that evaluates to T if the first element 
in a list equals the last element in the same list.

[2] Write a Lisp 'equals' expression that evalutes to T when
two 'when' expressions are used to compare T and not T. [help]

[3] Define a Lisp function named 'intargs' that takes three arguments 
and evaluates to T if all the arguments are integers.

   prompt: (defun intargs (a b c) (YOUR_CODE_GOES_HERE))
   INTARGS

   prompt: (intargs 1 2 3)
   T

   prompt: (intargs 1 2.5 3)
   NIL

   prompt: (intargs 1 2 "hello")
   NIL

[4] Draw the block diagram for the following:  (cons 5 (cons 4 nil))

[5] T or NIL:  (equal (cons 5 (cons 4 nil)) (cons 4 5))
Briefly explain your answer.  

[6] Write a predicate function named samesignp that
takes two arguments and evaluates to T if they have the same
sign (otherwise evaluate to NIL). It is okay to assume the
arguments are numbers.

   prompt: (defun samesignp (x y) (your_code_goes_here))
   SAMESIGNP

   prompt: (SAMESIGNP 5 2)
   T

   prompt: (SAMESIGNP 5 -2)
   NIL

[7] Write a 'dolist' expression to print the elements of
the first list in 'list' separated by ... 

   prompt: (dolist your_code_goes_here)
   1...4...6...

[8] Briefly explain why the variable x evaluates
to 240 after being used as input to the ++ function.

   prompt: (setf x 240)
   240

   prompt: (defun ++ (x) (setf x (1+ x)) (format nil "~a" x))
   ++

   prompt: (++ x)
   "241"

   prompt: x
   240

[9] Write a Lisp expression that evaluates the square-root
of the quantity b^2 - 4ac. Assign values to a, b, c using
(setf a -2 b 3 c -4).

;;
;; The remaining exercises use the variable named list.
;; (setf list '((1 2 3) (4 5) (6 7 8 9))) 
;;

[10] Write a single c....r expression that evaluates to the integer 5 
when given the argument list.

   prompt: (c....r list)    ; your expression replaces the ....

[11] Write a Lisp expression that evaluates to the 3rd element in list.

   prompt: (YOUR_CODE_GOES_HERE)
   (6 7 8 9)

[12] Explain why the following Lisp expression evaluates to one.
(min (car (car list)) (car (cdr (car list))) (car (cddr (car list))))