doing sicp evaluator in guile scm