You keep thinking (1 2 3) is the canonical form of a list. It is not. It's just a particular *print representation* of list. So is #<list> or one of the many alternatives Eli proposed.
Your attempt to use an interpreter model is commendable but falls short. That is because you only described the READ and EVAL steps of a REPL. The L(oop) is not relevant here, but the P(rint) is actually the most critical part, and that's the one you left out of your attempt at explaining what's happening. Also, Matthias asked you about substituting answers inside bigger expressions. You gave him a mechanical answer of why (you think) it won't work, but you failed to understand the bigger point he was trying to make in the first place. Shriram _________________________________________________ For list-related administrative tasks: http://lists.racket-lang.org/listinfo/users