Thanks for the tips - I am new to using match, the answers are illuminating, and so close...<br><br>I perhaps oversimplified my example. What I actually need to do is to match on an arbitrary expression bound earlier., e.g.<br>
<br>(match foo<br>(bar #t)<br>(_ #f))<br><br>Where bar is bound to some valid *match* expression. It appears the ==  fits the bill for something that resolves to some literal value in the end. I need to match what might be a literal, but could be something like bar being  (list (and (? number?) (? odd?)))).<br>
<br>In other words, I&#39;d like to be able to generate or have the user supply any arbitrary match expression, and use it for the bar in the match shown above. Ideas?<br><br>Thx again,<br>Rob<br><br><div class="gmail_quote">
On Fri, Mar 9, 2012 at 4:37 PM, rob cook <span dir="ltr">&lt;<a href="mailto:heycarnut@gmail.com">heycarnut@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That is, without using a macro or eval. Id like to do:<br><br>(define a 4)<br>(define l1 &#39;(1 2 3))<br>(match l1<br>  (`(1 2 ,a) #t)<br>  (_ #f))<br><br>So that this example would result in #f, and #t if a bound to 3.<br>

<br>Since of course match has its own quasiquote behavior, this does not seem possible w/o making a macro for &quot;dynamic&quot; match, or building the s-exp and using eval (yuck!).<br><br>Is this correct, or have I missed something obvious?<br>

<br>Thnx<span class="HOEnZb"><font color="#888888"><br>Rob<br>
</font></span></blockquote></div><br>