The REPL in DrScheme is transparent (as described in the DrScheme paper). This avoids subtle history-induced errors and misunderstandings. DrScheme's REPL avoids these problems in two ways:
Every time the user clicks Execute, DrScheme erases all internal state associated with the REPL.
DrScheme warns users when they make changes, do not click Execute, and evaluate expressions in the REPL.
![]() |