(defun space-over (n)
(cond ((< n 0) (format t "Error!~%"))
((zerop n) nil)
(t (or (format t " ") (space-over (- n 1))))))
(defun plot-one-point (plotting-string y-val)
(space-over y-val)
(format t "~A~&" plotting-string))
(defun plot-points (symbol y-vals)
(dolist (y y-vals)
(plot-one-point symbol y)))
(defun generate (min max)
(cond ((> min max) nil)
(t (cons min (generate (+ min 1) max)))))
(defun make-graph ()
(format t "~&Function to plot: ")
(setf func (read))
(format t "~&Starting X value: ")
(setf x-start (read))
(format t "~&Ending X value: ")
(setf x-end (read))
(format t "~&Plotting string: ")
(setf plot-str (read))
(plot-points plot-str
(mapcar func (generate x-start x-end))))