I posted this question on stackoverflow but have not found an answer yet. 

I've been trying to write a Racket interpreter that can interpret itself. 

interpreter.rkt contains the code for the interpreter. It is pretty standard. 
Then, in interpreter-self-evaluate.rkt, I 
    1. import interpreter.rkt, 
    2. copy paste the code from interpreter.rkt and 
    3. evaluate the code using the eeval function defined in interpreter.rkt.

However, this returns an error "; mcdr: contract violation". I suspect that the 
problem is in interpreter-self-evaluate.rkt and that it might have something to 
do with how quote works. I might be completely off base though. Any ideas?

You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: interpreter.rkt
Description: Binary data

Attachment: interpreter-self-evaluate.rkt
Description: Binary data

Reply via email to