<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hi!<br><br>I am trying to learn syntax-rules macros but have some very basic questions regarding manipulation of s-expressions. <br><br>Below is some simple code to illustrate my questions:<br><br>#lang scheme<br><br>(define-syntax foo<br>&nbsp; (syntax-rules ()<br>&nbsp;&nbsp;&nbsp; ((_ (x y))<br>&nbsp;&nbsp;&nbsp;&nbsp; #t)))<br><br><br>(define sexpr '(a b))<br><br>;; one<br>(foo sexpr)<br><br>;; two<br>(foo '(a b))<br><br>;; three<br>(foo (a b))<br><br>;; four<br>(eval `(foo ,sexpr))<br><br><br>So I understand why the first example fails. I am not sure why example two matches as I would only assume example three would. I understand why example four works but is there anyway I can do this without eval?<br><br>TIA.<br><br><br><br><br>                                               <br /><hr />Got a cool Hotmail story? <a href='http://clk.atdmt.com/UKM/go/195013117/direct/01/' target='_new'>Tell us now</a></body>
</html>