<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
<BR><div>> You keep thinking (1 2 3) is the canonical form of a list. It is<br>> not. It's just a particular *print representation* of list. So is<br>> #<list> or one of the many alternatives Eli proposed.<br>></div><div> </div><div>Oh, I understand that. It's just that I don't understand why you (i.e. Racket implementers) choose Racket by default prints list this way (different than all other lisps). I think this choice can confuse beginners (and all other users who switches from different lisp implementations and expects "traditional" REPL behaviour). </div><div> <br>> Your attempt to use an interpreter model is commendable but falls<br>> short. That is because you only described the READ and EVAL steps of<br>> a REPL. The L(oop) is not relevant here, but the P(rint) is actually<br>> the most critical part, and that's the one you left out of your<br>> attempt at explaining what's happening.<br>> <br>> Also, Matthias asked you about substituting answers inside bigger<br>> expressions. You gave him a mechanical answer of why (you think) it<br>> won't work, but you failed to understand the bigger point he was<br>> trying to make in the first place.<br>> <br>> Shriram<br></div>                                            </div></body>
</html>