On Oct 9, 4:48 pm, Chouser <[EMAIL PROTECTED]> wrote:
> 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.
>
Go for it.
Rich
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---