lazy version of scheme interpriter