Hello, all. This is my first post on the list, I&#39;m a CS student and I&#39;ve been giving Scheme a shot. (liking it a lot, so far).<br><br>Now, given the following code:<br><br>(define-syntax myhash<br>  (syntax-rules (-&gt;)<br>

    [(_ (x -&gt; y) ...)<br>     #hash((x . y) ...)]))<br><br>When trying to compile it, I get:<br><br>. read: expected `(&#39; or `[&#39; or `{&#39; to start a hash pair<br clear="all"><br>I was told that this happens because the compiler recognizes #hash as a hash-table long before (in the lexical analysis?) knowing that it is inside a (define-syntax), and therefore doesn&#39;t get the semantics of &#39;...&#39; - it just interprets it as illegal syntax.<br>

<br>This seems like a major wart with the language. What are your opinions?<br><br>-- <br>Patrick Steiger.<br><br>&quot;Theory is when you know something, but it doesn&#39;t work. Practice is<br>when something works, but you don&#39;t know why.<br>

Programmers combine theory and practice: Nothing works and they don&#39;t<br>know why.&quot; - Anon <br>