add the first workable scheme complier copied from the book with some fix under racket