Eval in a function

Sol 1: Use #lang racket/load to use the REPL language.

Sol 2: Use

(require (prefix-in r: racket/base))
(define (foo p) p)
(define + (foo r:+))

What you are asking is precisely the behavior of the REPL, contradicting to the semantics of modules.