views:

535

answers:

2

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.

A: 

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

Jay Kominek
I am using R5RS which is what I need to use, not Module.
Kai
+2  A: 

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

Kai