Thanks all...

I'm not actually complaining that symbols are taken for bind
variables.  I think in most common match uses that's very natural.
Your suggested change wouldn't actually help me - this was just a
dummy example; in the actual case for me the symbol starts with an
alpha.

If I *were* going to suggest a naming rule to disambiguate bind
variables from symbols, I'd suggest using a leading _ on bind
variables:

;; plus is a symbol to match, _x, _y are variables
(let [e '(plus 2 3)]
  (match [e]
       [([plus _x _y] :seq)] (+ _x _y)))

To me, that gives them a "placeholder" feel and plays well with the
use of _.  This would break all existing code of course, so I don't
suggest this too seriously. :)

Alex


On Nov 30, 3:29 pm, Steve Miner <stevemi...@gmail.com> wrote:
> On Nov 30, 2011, at 3:04 PM, David Nolen wrote:
>
> > (quote foo) should be interpreted as a literal match. I thought this was 
> > addressed by a previous user submitted patch but it doesn't look like 
> > that's true.
>
> I wrote a patch that treated quoted keywords as literals so that ':when could 
> be used to match a literal :when as opposed to introducing a guard.  Sorry, I 
> didn't think about the case of literal symbols.  I assumed they already 
> worked that way.  Hmmm, maybe there's a difference between the :seq and 
> vector matching.   I will take a look tomorrow to see if I can come up with a 
> patch.
>
> The complaint about reusing symbols is also my contribution.  Maybe match 
> bindings should be limited to symbols starting with an alphabetic character.  
> I doubt anyone really wants to bind to symbols that look like operators.  
> They could be treated as literals for the sake of matching.  Any opinions on 
> that?
>
> Steve Miner

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to