5
votes

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.

2

2 Answers

12
votes

It turns out there are options per each language and one of them is "Disallow redefinition of initial bindings" which can be unchecked.

0
votes

You're probably using the "Pretty Big" language. Switch to "Module", and you can do it.