This is reminiscent of code-data duality, such languages as Lisp and Forth, self-modifying programs, and related esoterica.if 1 ..., which may be byte-compiled, is an efficient replacement for eval in all cases. eval itself may also be byte-compiled if it is given only one argument which is a literal string.To avoid the caveats of eval the rule of thumb is to pass only one argument to eval.