1 - Is it possible save the REPL state?
2 - Suppose that I made a function and now I want change it or just
see your definition, Is it possible to list or see a function
definition on REPL, something like DIR?
> Where can I find information about the Rich idea?
It's not something I've seen documented anywhere. But it's a handy technique. Basically, you open a file in emacs called whatever you want. I call mine tmp.clj. Then you type commands there instead of in the REPL, and use either C-x C-e (slime-eval-last-sexp) or C-M-x (slime-eval-defun) to evaluate the expressions in the tmp.clj buffer into the REPL.
This has two benefits: First, you have history, so it's easy to go back and do what you did before . Second, you have all the benefits of the editor when you're authoring your commands, like paredit, if you're a paredit sort of person.
 Now that I think about it, I believe there's a way to save the command history from the REPL. Not the same thing as save-lisp-and-die, of course.