That is not the same thing as '(print state). I already gave a javascript example. It works and it doesn't resolve the variable before eval is called.
Your example is broken because you're operating on the return value of new which is an object not a string.