<HTML><FONT FACE=arial,helvetica><HTML><FONT COLOR="#000000" FACE="Geneva" FAMILY="SANSSERIF" SIZE="2">Hi Noel,<BR>
<BR>
<BLOCKQUOTE CITE STYLE="BORDER-LEFT: #0000ff 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px; PADDING-LEFT: 5px" TYPE="CITE"></FONT><FONT COLOR="#000000" FACE="Geneva" FAMILY="SANSSERIF" SIZE="2">Just fixed a fun bug where the contract library's -&gt;<BR>
operator was conflicting with WebIt's use of the same in<BR>
pattern matching.  Methinks this is some macro problem,<BR>
probably triggered by lack of hygiene.  My usual technique<BR>
when faced with macro problems of this sort is to flail<BR>
around wildly and then post to plt-scheme.  I thought I'd<BR>
skip the first step this time.<BR>
</BLOCKQUOTE></FONT><FONT COLOR="#000000" FACE="Geneva" FAMILY="SANSSERIF" SIZE="2"><BR>
The code in WebIt! tests for the -&gt; identifier in the syntax-case<BR>
implementation of xml-match by including -&gt; in the literal-identifiers<BR>
list, as in:<BR>
&gt;&nbsp;&nbsp;  (syntax-case lst (unquote -&gt;)<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ...snip...<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  [(unquote [cata -&gt; cvar ...])<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  ...snip...<BR>
<BR>
Changing the matching of the -&gt; identifier to test using symbol<BR>
equality seems to fix the conflict with the contract library. In <BR>
point of fact, I seem to recall being advised in the past, that for <BR>
identifiers which appear in an expression position, I should test with <BR>
module-identifier=?, but that for cases such as -&gt; above, which<BR>
is _not_ in an expression position, symbol equality should be<BR>
used for this test.<BR>
<BR>
Unless there are recommendations to the contrary, I will publish <BR>
an updated version of webit on Monday (both on my web site and <BR>
via a new submission to planet)--using symbol equality for this test.<BR>
<BR>
Jim<BR>
</FONT><FONT COLOR="#000000" FACE="Geneva" FAMILY="SANSSERIF" SIZE="2"></FONT></HTML>