Is that possible to create a new language (something like #lang pure-r5rs) that is a R5RS (or even Racket itself) but "purely functional"? Without side effects, I/O etc.
Christos Dimoulas [https://users.cs.northwestern.edu/~chrdimo/] created an effect-free language from Racket for the Shill project. See paper with Moore et al. You may wish to start from the Shill implementation, but rip out the parser.
[[ When I say “effect free” I don’t mean to say it excludes infinite loops. ]]