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