How can you re-define a constant identifier in DrScheme?
Question
I am using DrScheme to write a Scheme interpreter. I define a Read Eval Print Loop and I am re-defining the eval procedure. This works fine in other scheme implementations like Chez Scheme, but I don't like the code editing in Chez Scheme, so I would like to use DrScheme for this.
When I make a definition such as: (define (eval exp env) (cond ...)) It says: define-values: cannot change constant identifier: eval
Is there a way to override that and let me change constant identifiers? I'd prefer not to have to rename all my variables to get around this.
Solution
It turns out there are options per each language and one of them is "Disallow redefinition of initial bindings" which can be unchecked.
OTHER TIPS
You're probably using the "Pretty Big" language. Switch to "Module", and you can do it.