Today I learnt that Racket *intentionally* doesn't have a traditional REPL workflow. The authors were concerned about students not understanding the state between the current session and the code on disk. (Arguably Jupyter has some of these features now.) https://blog.racket-lang.org/2009/03/the-drscheme-repl-isnt-the-one-in-emacs.html