4.1.7 - till analyze-if
4.1.7 - analyze.

TODO: modify my-eval to use this `analyze` mech
my-eval - try to add function of `analyze`
my-eval - impl analyze-variable
my-eval - definitions impl
test emacs - entry support
my-eval - analyze assignment
my-eval * planing to switch to analyze totally *
my-eval - change handler interface
my-eval - plan to support both approaches
my-eval - introduce Maybe
my-eval - use Maybe to handle failures
follow lisp comment convension
my-eval - analyze-quote
my-eval - impl (partially) analyze-define
my-eval - impl analyze-if & some concerns

see comments in `my-eval.scm` in details.

For short, I revert to just use `my-eval`
instead of using `my-eval-interpret`.

it may expose some bugs in the implementations if any.
my-eval - new tool to test both impls
my-eval - impl analyze-set!
my-eval - analyze-begin impl
my-eval - partial analyze-lambda impl