Discussion List Archives

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ddlm-group] Finalizing DDLm

The operation of option 2 in practice (which I am not advocating) is that an application, when presented with a datafile written with reference to a DDLm dictionary, must re-roll any unrolled loops before interpreting/applying dREL and DDLm. DDLm thus describes a canonical form, and the IUCr (ie this group) simply adds a line to specify that, although one-line loops can be presented as key-value pairs, the DDLm specification assumes that the datafile has been transformed into this canonical form.

So, it does not involve touching DDLm at all. The List and Set categories remain inviolate.

Option 3, which does involve touching DDLm because it adds an attribute, simply allows this canonicalisation process to be selective, and is orthogonal to the rest of DDLm.

On Wed, Apr 14, 2010 at 5:59 PM, Nick Spadaccini <nick@csse.uwa.edu.au> wrote:

This doesnt actually make things clearer or easier James. I will repeat it again.

Strict adherence to the formal specification of DDLm REQUIRES List categories to be presented as looped data, even if there is only one row.

If the IUCr wishes to universally adopt the case where instances of List categories that contain only one row may be presented as a Set category then it can do so as an accepted extension. This of course requires every application writer to necessarily read the dictionary to establish if the data is really a Set category or possibly a List category. Once the IUCr adopts this extension to DDLm within its implementation, I would assume every application writer would be required to adhere to it.

On 14/04/10 3:29 PM, "James Hester" <jamesrhester@gmail.com> wrote:

Dear all,

Both John and Herb have come out in favour of allowing one-row loops to be unrolled. Nick and I are both sceptical about the value of this idea. We have a few options:

1. Disallow loop unrolling altogether (as in DDL1).
2. Allow loop unrolling for all DDLm dictionaries
3. Add a category-scope DDLm attribute stating that one-row loops in this category and child categories may be unrolled. If it appears in the 'Head' category of the dictionary, it would mean that all categories in the dictionary could be unrolled.

We have not discussed option 3: it basically means deferring the decision on loop unrolling to the dictionary writers. It also means that programmers of generic CIF software will need to be prepared for either behaviour, so in that sense it is slightly more burdensome than option 2.

Unless the silent majority would like to contribute further thoughts on this matter, I suggest that we vote and move on. I discern that the voting so far would be:

Option 1: James, Nick
Option 2: John, Herb
Option 3: ?

(Some comments on John's post are inserted below).




Associate Professor N. Spadaccini, PhD
School of Computer Science & Software Engineering

The University of Western Australia t: +61 (0)8 6488 3452
35 Stirling Highway f: +61 (0)8 6488 1089
CRAWLEY, Perth, WA 6009 AUSTRALIA w3: www.csse.uwa.edu.au/~nick

CRICOS Provider Code: 00126G

e: Nick.Spadaccini@uwa.edu.au

ddlm-group mailing list

T +61 (02) 9717 9907
F +61 (02) 9717 3145
M +61 (04) 0249 4148
ddlm-group mailing list

Reply to: [list | sender only]
International Union of Crystallography

Scientific Union Member of the International Science Council (admitted 1947). Member of CODATA, the ISC Committee on Data. Partner with UNESCO, the United Nations Educational, Scientific and Cultural Organization in the International Year of Crystallography 2014.

International Science Council Scientific Freedom Policy

The IUCr observes the basic policy of non-discrimination and affirms the right and freedom of scientists to associate in international scientific activity without regard to such factors as ethnic origin, religion, citizenship, language, political stance, gender, sex or age, in accordance with the Statutes of the International Council for Science.