[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Reply to: [list | sender only]
Re: [ddlm-group] Simon's elide proposal
- To: Group finalising DDLm and associated dictionaries <[email protected]>
- Subject: Re: [ddlm-group] Simon's elide proposal
- From: "Herbert J. Bernstein" <[email protected]>
- Date: Wed, 12 Jan 2011 05:39:31 -0500 (EST)
- In-Reply-To: <[email protected]>
- References: <[email protected]>
Actually, Simon's proposal, while useful, is not complete,
inasmuch as \" and \' are not handled yet. I urge adoption
of my compromise suggestion as written. Without it,
we are going down the same slippery slope we crashed on
the last time we tried to resolve this issue. -- Herbert
=====================================================
Herbert J. Bernstein, Professor of Computer Science
Dowling College, Kramer Science Center, KSC 121
Idle Hour Blvd, Oakdale, NY, 11769
+1-631-244-3035
[email protected]
=====================================================
On Wed, 12 Jan 2011, James Hester wrote:
> Note that Simon's proposal *does* completely answer Ralf's concern
> about the lack of elide mechanism in triple quoted strings. It
> provides line folding as well. I for one would consider our job
> finished if we were to adopt Simon's proposal, and see no need for the
> further steps proposed by Herbert. Herbert is of course welcome to
> propose including the various Python behaviours as a separate
> amendment to the CIF2 standard.
>
> I would propose a slight tweak to Simon's proposal, so that it works as follows:
>
> The datavalue is obtained from the triple-quoted string in two steps:
> (1) All instances of <backslash><eol> are removed from the string
> where the <backslash> is not preceded by another <backslash>
> (2) All other instances of <backslash><eol> are replaced with <eol>
>
> This means that a sequence of n backslashes followed by newline is
> replaced by a sequence of n-1 backslashes followed by newline, except
> if there is one backslash before the newline, in which case both
> newline and backslash are removed. Triple quote sequences are elided
> by inserting a <backslash><eol> sequence between <delimiter>
> characters to break up the triple delimiter sequence. Note also that
> backslash has no special meaning if not in a sequence finishing with
> <eol>.
>
> I will be posting a separate email, hopefully tonight, where I will
> list the current elide proposals and request that we all indicate
> which ones are potentially acceptable to us, with a ranking if
> possible. This may help us to restrict discussion to something that
> is mutually acceptable.
>
> On Sun, Jan 9, 2011 at 2:45 AM, Herbert J. Bernstein
> <[email protected]> wrote:
>> Here is a possible compromise. �This thread began with
>> Ralf's concern about the lack of an elide mechanism
>> in treble quoted strings. �Simon's suggestion does
>> not really answer that question, but it is a reasonable
>> step in that direction. �So, how about ...
>>
>> 1. �Immediately adopt Simon's suggestion to allow the
>> \\n and \\ elides in treble quoted strings. �Except for
>> the confusion in the meaning of \"""" if a more general
>> elide is eventually adopted that should cause very little
>> stress for anybody.
>>
>> 2. �Add Ralf's proosed new section 7 to the CIF2
>> document as a proposal under discussion, with the
>> advice that people may wish to avoid creating treble-quoted
>> string that conflict with the full python elide
>> conventions.
>>
>> 3. �Provide a coherent discussion document for COMCIFS
>> and the community at large on the alternatives in
>> handling the treble-quoted string, asking for comments
>> to the list prior to the Madrid meeting. �I would suggest
>> that Ralf be asked to contribute a page or 2 on the
>> merits of his proposal and that either John B. or James
>> contribute a page or 2 on their objections and alternatives.
>>
>> 4. �Discuss it face to face at the Msdrid meeting and
>> try to come to a resolution.
>>
>> 5. �Move forward with the rest of CIF2 as proposed in
>> the meantime so we will be ready to discuss all of CIF2
>> at the Madrid meeting, with a effort to have sample parsers
>> and data sets available on the web prior to the meeting.
>>
>> Regards,
>> �Herbert
>>
>> =====================================================
>> �Herbert J. Bernstein, Professor of Computer Science
>> � Dowling College, Kramer Science Center, KSC 121
>> � � � �Idle Hour Blvd, Oakdale, NY, 11769
>>
>> � � � � � � � � +1-631-244-3035
>> � � � � � � � � [email protected]
>> =====================================================
>>
>> On Sat, 8 Jan 2011, Herbert J. Bernstein wrote:
>>
>>> Dear James,
>>>
>>> �You are clearly a much better programmer than I am. When I got down into
>>> the interactions among the treble quote, single quotes, text fields, elides,
>>> the bracketed constructs and comments in the lexical scan, I found the going
>>> tough. �If you have it done neatly, I would greatly appreciate seeing it.
>>>
>>> �I think we need a face to face meeting or Skype meeting to resolve not
>>> just this one issue, but the process of getting a workable CIF2. �Perhaps we
>>> can finally get to do that in Madrid.
>>>
>>> �Regards,
>>> � Herbert
>>>
>>>
>>> =====================================================
>>> Herbert J. Bernstein, Professor of Computer Science
>>> �Dowling College, Kramer Science Center, KSC 121
>>> � � � Idle Hour Blvd, Oakdale, NY, 11769
>>>
>>> � � � � � � � �+1-631-244-3035
>>> � � � � � � � �[email protected]
>>> =====================================================
>>>
>>> On Sat, 8 Jan 2011, James Hester wrote:
>>>
>>>> I can't let these assertions go unchallenged:
>>>>
>>>> On Sat, Jan 8, 2011 at 12:04 PM, Herbert J. Bernstein
>>>> <[email protected]> wrote:
>>>>>
>>>>> Dear Simon,
>>>>>
>>>>> � Adoption of Ralf's proposal will ...
>>>>>
>>>>> � 1. �Make it much easier to create a CIF2 parser, because for one of
>>>>> the messiest parts of the code we will have a clear specification,
>>>>> sample code and a way to validate the tough cases.
>>>>
>>>> If we adopt a simpler spec than the Python in toto spec:
>>>> - there will be many fewer tough cases
>>>> - there will be a simpler and therefore clearer specification
>>>> - for many alternative schemes the lexer will be unchanged from the
>>>> current version, with the elide behaviour
>>>> �simply requiring a search and replace following lexing
>>>> Triple-quoted string handling is not currently a messy part of the
>>>> code, I don't understand why you think this. �It will become
>>>> significantly more complex under Ralf's proposal.
>>>>
>>>>> � 2. �Make it easier for users to conform the the quoting rules, because
>>>>> at least that one part of CIF2 will be thoroughly documented with lots
>>>>> of examples.
>>>>
>>>> Quoting rules are not rocket science. �About 3 examples will be
>>>> enough, if we adopt a simple specification rather
>>>> than the unicode+raw+lots of escapes that the Python proposal entails.
>>>> Doing things the Python way would
>>>> imply more chance for user misunderstanding, especially bearing in
>>>> mind that CIF2 users are not necessarily
>>>> Python programmers or even programmers at all. �For these users, there
>>>> is absolutely no benefit in adopting Python or any other language's
>>>> approach - they are unfamiliar with them all.
>>>>
>>>>> � 3. �Make is easier for the journals and archives to deal with "odd"
>>>>> CIF2 files containing complex treble quoted strings because at
>>>>> least �that one part of CIF2 will be throughly documented with lots
>>>>> of examples, and, with a utility (IDLE) all ready to allow them
>>>>> to pull out a troublesome treble-quoted string and figure out what
>>>>> it means or what it might mean if some intuitive change were made.
>>>>
>>>> The simpler the spec, the less likely mistakes will be made and the
>>>> less chance of ambiguity.
>>>>
>>>>> � Yes, if Ralf's proposal happens to be rejected, we will still have
>>>>> a problem in the lack of elide handling, and yes we will have to
>>>>> put in the time an effort to consider those alternatives, but, first,
>>>>> in order to have some chance of finishing the specification of CIF2
>>>>> before the summer meeting deadlines (at least one of which is in
>>>>> just a little more than 3 weeks), might it not be a good idea
>>>>> to discuss and consider what was actually proposed instead of
>>>>> chasing after lots of plausible alternatives that we already discussed
>>>>> and rejected, and so are not very likely to agree upon rapidly now.
>>>>
>>>> I have some hope that, by restricting our discussion to treble-quoted
>>>> strings, we can make progress compared to previous attempts. �I have
>>>> considered and discussed at length Ralf's proposal, and would be
>>>> interested in your responses to my particular objections.
>>>>
>>>>> � So, before I will delve into the many subtle variations of elide
>>>>> mechanisms, I would appreciate our finishing consideration of Ralf's
>>>>> actual proposal:
>>>>>
>>>>> =======================
>>>>>
>>>>> His revised wording (with one correction) is:
>>>>>
>>>>> ========================
>>>>>
>>>>> CHANGE 7 NEW
>>>>>
>>>>>
>>>>> Triple-quote delimited strings.
>>>>>
>>>>> The following ASCII sequences delimit the beginning of a string:
>>>>>
>>>>> � � """
>>>>> � � '''
>>>>> � � r"""
>>>>> � � r'''
>>>>> � � u"""
>>>>> � � u'''
>>>>>
>>>>> The characters following the delimiter sequence are interpreted
>>>>> with exactly the same algorithm as implemented for triple-quoted
>>>>> strings in the Python programming language version 2 series.
>>>>> In this algorithm, triple-quoted strings are terminated by matching
>>>>> """ or ''' delimiters.
>>>>>
>>>>> For example
>>>>>
>>>>> � � """He said "His name is O'Hearly"."""
>>>>> � � r'''In {\bf \TeX} the accents are \' and \".'''
>>>>>
>>>>> Triple-quoted strings provide a reliable mechanism for storing any
>>>>> arbitrary string in a CIF2 file.
>>>>>
>>>>> =========================
>>>>>
>>>>> This is cleaner and simpler than the original change 7 wording.
>>>>> It probably does not conflict with existing CIF1 documents and the
>>>>> _only_ CIF2 documents it can conflict with are the very few
>>>>> that happen to end in \""" or \''''. �The new leading delimiters
>>>>> r""", r''', u""" and u''' will have to be added to the list of forbidden
>>>>> starts to white-space delimited data values in change 5. �In exchange
>>>>> for
>>>>> this minor adjustments to valid CIF2 syntax we gain a fully documented,
>>>>> software supported way to include arbitrary strings in a CIF2 document
>>>>> that people are already used to working with.
>>>>>
>>>>> I have reviewed the discussion of the "use of elides in strings"
>>>>> thread in the ddlm-group discussion list, and, while I did not
>>>>> then and do not now understand the objections to the general use
>>>>> of elides in quoted strings, I particularly do not understand
>>>>> the logic of objecting to the use of elides in treble-quoted strings,
>>>>> which are a construct completely new to CIF and therefore in
>>>>> conflict with no existing data files.
>>>>>
>>>>> Would those who have an objection to Ralf's proposal please
>>>>> state their objections. �An objection that says we object because
>>>>> in past discussions another body could not manage to come to an
>>>>> agreement and just gave up does not speak to the merits of this
>>>>> specific proposal.
>>>>>
>>>>> I have no idea why we are considering other proposals before
>>>>> settling the status of Ralf's proposal.
>>>>
>>>> It is also useful to know what the alternatives might be when
>>>> considering a proposal.
>>>>
>>>>> I agree with Ralf's proposal.
>>>>>
>>>>> Regards,
>>>>> � Herbert
>>>>>
>>>>> At 12:37 AM +0000 1/8/11, SIMON WESTRIP wrote:
>>>>>>
>>>>>> Dear Herbert
>>>>>>
>>>>>> I fail to see how the adoption of python string quoting rules is going
>>>>>> to
>>>>>> make life easier for anyone other than a python programmer?
>>>>>> Even then, the mechanism is restricted to treble-quoted strings,
>>>>>> which are only
>>>>>> one part of CIF. Maybe I've missed something, but just because CIF
>>>>>> might share
>>>>>> common syntax with a programming language in one respect, does not
>>>>>> necessarily mean
>>>>>> that the tools of that medium are available to CIF?
>>>>>>
>>>>>> If you're looking to base CIF extensions on established mechanisms,
>>>>>> why not adopt
>>>>>> the minimal \(newline) and \\ escape sequences, which in essence are
>>>>>> the same as
>>>>>> the established CIF line-folding protocol (just dropping the initial
>>>>>> \ following the opening
>>>>>> delimiter and formalising the protocol as an inherent part of the
>>>>>> spec). Afterall, I beleive you
>>>>>> have already been using it, or at least interpreted it, as a means
>>>>>> to escape 'semicolon delimiters' within
>>>>>> semicolon-delimited values (I seem to recall discussions that
>>>>>> identified an issue with the published 'trip tests'
>>>>>> relating to line folding).
>>>>>>
>>>>>> Forgive me if I have missed something regarding the usefulness of
>>>>>> python in CIF; please enlighten me
>>>>>> as to its benefits if I were to write a CIF reader using anything
>>>>>> but python. As far as I can see, the only
>>>>>> advantages lie in the fact that the logic is established and thus
>>>>>> unquestionable; but that does not mean it is
>>>>>> necessarily entirely appropriate for CIF (which afterall isn't a
>>>>>> programming language).
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Simon
>>>>>>
>>>>>>
>>>>>>
>>>>>> From: Herbert J. Bernstein <[email protected]>
>>>>>> To: Group finalising DDLm and associated dictionaries
>>>>>> <[email protected]>
>>>>>> Sent: Friday, 7 January, 2011 23:07:40
>>>>>> Subject: Re: [ddlm-group] Eliding in triple-quoted strings:
>>>>>> Proposals C and D. .. .. .
>>>>>>
>>>>>> Dear Colleagues,
>>>>>>
>>>>>> � Ralf's proposal is what it is. �Before we go haring off in other
>>>>>> directions, we should respond constructively to what he has proposed.
>>>>>> I support it. �Ralf and John W. support it. �John B. and James H.
>>>>>> oppose it. �I think they are mistaken because ...
>>>>>>
>>>>>> � It is well and good to adopt a "Real Programmers Don't Each
>>>>>> Quiche" let's-start-from-scratch-and-roll-our-own approach when
>>>>>> you have the resources to accomplish our goals that way. �It
>>>>>> is a lot of fun, and has the potential to truly advance the
>>>>>> field, but it is also, in the current funding climate, unrealistic.
>>>>>>
>>>>>> � In the U.S., there is a serious prospect to science funding being
>>>>>> cut back so severely that the hit rates on grants next year may
>>>>>> be as low as 1 in 10. �I suspect an honest review of funding prospects
>>>>>> in other countries will uncover similarly dire warnings.
>>>>>>
>>>>>> � This does not mean we are all going out of buisness, but we do have
>>>>>> to be careful to conserve resources and focus our do-it-from-scratch
>>>>>> efforts on those areas that have the highest priority, and I fear,
>>>>>> for most of our community, CIF2, while important, is not likely to
>>>>>> be seen as worth that approach, and certainly filing the edges of
>>>>>> a brand-new treble quote spec is likely to be very far down
>>>>>> on anybody's priority list.
>>>>>>
>>>>>> Ralf has made a proposal that will save all of us a lot of effort
>>>>>> and allow us to devote more resources to higher priority problems.
>>>>>>
>>>>>> Not only is he right on this one point, but I urge us to look for
>>>>>> other areas where we can get to CIF2 by building on work that is
>>>>>> already done.
>>>>>>
>>>>>> This is not a good time for wheel-reinvention.
>>>>>>
>>>>>> I would appreciate knowing from those who wish to reinvent this
>>>>>> particular wheel, why they wish to do that and from where they
>>>>>> expect to get the resources to do it?
>>>>>>
>>>>>> Regards,
>>>>>> � Herbert
>>>>>>
>>>>>> =====================================================
>>>>>> � Herbert J. Bernstein, Professor of Computer Science
>>>>>> � � Dowling College, Kramer Science Center, KSC 121
>>>>>> � � � � Idle Hour Blvd, Oakdale, NY, 11769
>>>>>>
>>>>>> � � � � � � � � � +1-631-244-3035
>>>>>> � � � � � � � � � <mailto:[email protected]>[email protected]
>>>>>> =====================================================
>>>>>>
>>>>>> On Fri, 7 Jan 2011, Bollinger, John C wrote:
>>>>>>
>>>>>>>
>>>>>>> �On Friday, January 07, 2011 3:14 PM, Herbert J. Bernstein wrote:
>>>>>>>
>>>>>>>> �We seem not to be communicating effectively.
>>>>>>
>>>>>> �>>
>>>>>>>>
>>>>>>>> �What I am asking for is an _existing_, supported treble quote
>>>>>>>> specification
>>>>>>>> �from an _existing_ language with _existing_ documentation and
>>>>>>>> �_existing_ software as an alternative to the Python specification,
>>>>>>>> �documentation and software to which we all have access, that is
>>>>>>>> being
>>>>>>>> �proposed as an alternative
>>>>>>>> �to what Ralf has proposed.
>>>>>>>
>>>>>>> �Thank you for that clarification. �You are right, I didn't understand
>>>>>>> �what you were asking for.
>>>>>>>
>>>>>>> �I hope this will likewise clarify my position: I reject the premise
>>>>>>> that
>>>>>>> �the system we choose must meet those criteria, and I oppose adopting
>>>>>>> the
>>>>>>> �full Python syntax and semantics.
>>>>>>>
>>>>>>>> �The Python specification is available at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> <http://docs.python.org/reference/index.html>http://docs.python.org/reference/index.html
>>>>>>>>
>>>>>>>> �with the lexical analysis at
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> <http://docs.python.org/reference/lexical_analysis.html>http://docs.python.org/reference/lexical_analysis.html
>>>>>>>
>>>>>>> �Thanks, though that is exactly what I was looking at already. �It
>>>>>>> leaves
>>>>>>> �several details unclear, some of which I discussed in previous
>>>>>>> messages.
>>>>>>> �Hence, I consider it slightly short of a *full* specification. �It
>>>>>>> does,
>>>>>>> �however, provide my grounds for opposing adoption of that scheme for
>>>>>>> �CIF.
>>>>>>>
>>>>>>>> �The complete source code and binaries are available at:
>>>>>>>
>>>>>>> �Unless you propose to append a particular set of Python sources to
>>>>>>> the
>>>>>>> �CIF specification as a reference, I have no interest in perusing the
>>>>>>> �source code to seek answers to such questions of detail as I have.
>>>>>>> �Furthermore, I would oppose adding such an appendix on the grounds
>>>>>>> that
>>>>>>> �it would be exceedingly difficult to use to resolve questions such as
>>>>>>> �mine.
>>>>>>>
>>>>>>> �I am likewise unwilling to rely on the behavior the python binary
>>>>>>> that
>>>>>>> �happens to be installed on my computer to answer them. �If the
>>>>>>> correct
>>>>>>> �behavior is not documented independent of the program then there is
>>>>>>> no
>>>>>>> �particular reason to trust that it won't change in future versions,
>>>>>>> or
>>>>>>> �that any particular implementation is correct or bug-free.
>>>>>>>
>>>>>>>
>>>>>>> �Regards,
>>>>>>>
>>>>>>> �John
>>>>>>>
>>>>>>> �--
>>>>>>> �John C. Bollinger, Ph.D.
>>>>>>> �Department of Structural Biology
>>>>>>> �St. Jude Children's Research Hospital
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> �Email Disclaimer:
>>>>>>> <http://www.stjude.org/emaildisclaimer>www.stjude.org/emaildisclaimer
>>>>>>>
>>>>>>> �_______________________________________________
>>>>>>> �ddlm-group mailing list
>>>>>>> �<mailto:[email protected]>[email protected]
>>>>>>>
>>>>>>>
>>>>>>> <http://scripts.iucr.org/mailman/listinfo/ddlm-group>http://scripts.iucr.org/mailman/listinfo/ddlm-group
>>>>>>>
>>>>>> _______________________________________________
>>>>>> ddlm-group mailing list
>>>>>> <mailto:[email protected]>[email protected]
>>>>>>
>>>>>> <http://scripts.iucr.org/mailman/listinfo/ddlm-group>http://scripts.iucr.org/mailman/listinfo/ddlm-group
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> ddlm-group mailing list
>>>>>> [email protected]
>>>>>> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>>>>>
>>>>>
>>>>> --
>>>>> =====================================================
>>>>> �Herbert J. Bernstein, Professor of Computer Science
>>>>> � �Dowling College, Kramer Science Center, KSC 121
>>>>> � � � � Idle Hour Blvd, Oakdale, NY, 11769
>>>>>
>>>>> � � � � � � � � �+1-631-244-3035
>>>>> � � � � � � � � �[email protected]
>>>>> =====================================================
>>>>> _______________________________________________
>>>>> ddlm-group mailing list
>>>>> [email protected]
>>>>> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> T +61 (02) 9717 9907
>>>> F +61 (02) 9717 3145
>>>> M +61 (04) 0249 4148
>>>> _______________________________________________
>>>> ddlm-group mailing list
>>>> [email protected]
>>>> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>>
>> _______________________________________________
>> ddlm-group mailing list
>> [email protected]
>> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>>
>>
>
>
>
> --
> T +61 (02) 9717 9907
> F +61 (02) 9717 3145
> M +61 (04) 0249 4148
> _______________________________________________
> ddlm-group mailing list
> [email protected]
> http://scripts.iucr.org/mailman/listinfo/ddlm-group
>
_______________________________________________ ddlm-group mailing list [email protected] http://scripts.iucr.org/mailman/listinfo/ddlm-group
Reply to: [list | sender only]
- Follow-Ups:
- Re: [ddlm-group] Simon's elide proposal (James Hester)
- Re: [ddlm-group] Simon's elide proposal (Herbert J. Bernstein)
- References:
- [ddlm-group] Simon's elide proposal (James Hester)
- Prev by Date: [ddlm-group] Simon's elide proposal
- Next by Date: Re: [ddlm-group] Simon's elide proposal
- Prev by thread: [ddlm-group] Simon's elide proposal
- Next by thread: Re: [ddlm-group] Simon's elide proposal
- Index(es):

