wish helps you There is a difference: intepret interprets one single expression. interpret-block takes the several statements in the one block expression and use interpret on each one. interpret will do the "right thing", like call interpret-declaration, based on the type of expression. interpret-block will have a vital role in state handling. eg. declare would return a new state that next statements needs to get as argument. I guess all calls to interpret gets a state back and in interpret-block would always return the passed state back to clear new bindings.
In a scheme interpreter in scheme, how to implement 'quote'?