On Thu, Oct 9, 2008 at 3:09 PM, Rich Hickey <[EMAIL PROTECTED]> wrote:
>
> The question is, are people willing to deal with the breakage in the
> short term?

I certainly am, but that may not mean much. :-)
Nobody has spoken out against it yet -- that's a got to be a good sign.

> Could there be a reader warning, if \\ is seen in patterns?

Not really, in general such patterns are valid.  For example #"\\w*"
currently means match zero or more word"characters.  Proposed, #"\\w*"
would mean match a backslash followed by any number of "w"s

I suppose we could have a warning that flags "likely" errors, and then
a way to turn it off, but that doesn't sound like a nice solution.

> Is there a possible conversion or safe interpretation of existing
> patterns (esp. \\\" and \\\\)

I'm not quite sure what you mean. Is this the part of the previous question?

#"\\\"" Currently matches the single char double-quote, Proposed would
match a backslash followed by a double-quote

#"\\\\" Currently matches the single char backslash. Proposed would
match a backslash followed by another backslash.

If you mean could old patterns be programmatically converted to new
ones, the answer is yes.  Somehow I don't think you're asking for a
code walker that spits out what it reads, except with old regex
literals replaced with new ones, but I suppose that could be done.

The only pattern I've found that is currently valid that wouldn't be
under the proposal was mentioned in my earlier email: #"\\(" currently
matches a literal open paren.  Proposed would be interpreted as a
backslash and the beginning of a group, but without the closing paren
Pattern/compile will throw an exception.

> How tricky is the print side?

Simple for Patterns created using the proposed literal form, as the
Pattern hangs on to the original string -- just slap #"" around it.

But I suppose that's not quite good enough, as you can build Patterns
other ways: (Pattern/compile "\"")
I think the only cause of trouble is the " char, so the Pattern's
string would have to be scanned looking for " and determining if it's
already quoted.  If quoted, leave it alone; if unquoted, insert a
backslash.  I'll code it up, unless this proposal is already dead on
one of the other points.

Thanks,
--Chouser

--~--~---------~--~----~------------~-------~--~----~
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
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to