One last disambiguation wrinkle

I think this will be the last of my puzzles over disambiguation.
Consider the following full namesets:

John Doe, Jane Roe, Robert Brown, Tim Smith, Edward Jones
John Doe, Janet Roe, Richard Brown, Tom Smith, Edward Jones

With current behaviour, if we implement minimal givens expansion, and
use add-names, initializing, an et-al-min of 3 and a use-first of 1, I
think this would become:

J. Doe, Jane Roe, R. Brown, T. Smith, E. Jones
J. Doe, Janet Roe, R. Brown, T. Smith, E. Jones

It seems to me that an editor might prefer for this to be shrunk to
the following unambiguous form:

J. Doe, Jane Roe, et al.
J. Doe, Janet Roe, et al.

In citeproc-js, I should be able to do this fairly simply, because
of the way the disambiguation machinery has been
(re-re-re-re-)written. I think it’s probably right, because it makes
for smaller keys in the text of the document. Questions are:

  1. Is the latter behaviour desirable?

  2. If so, then:

2a) Should things just work this way, or should there be options?

2b) For Andrea, how much of a headache would it be to implement this
in citeproc-hs?

Frank

These are my opinions:

I think this will be the last of my puzzles over disambiguation.
Consider the following full namesets:

John Doe, Jane Roe, Robert Brown, Tim Smith, Edward Jones
John Doe, Janet Roe, Richard Brown, Tom Smith, Edward Jones

With current behaviour, if we implement minimal givens expansion, and
use add-names, initializing, an et-al-min of 3 and a use-first of 1, I
think this would become:

J. Doe, Jane Roe, R. Brown, T. Smith, E. Jones
J. Doe, Janet Roe, R. Brown, T. Smith, E. Jones

It seems to me that an editor might prefer for this to be shrunk to
the following unambiguous form:

J. Doe, Jane Roe, et al.
J. Doe, Janet Roe, et al.

In citeproc-js, I should be able to do this fairly simply, because
of the way the disambiguation machinery has been
(re-re-re-re-)written. I think it’s probably right, because it makes
for smaller keys in the text of the document. Questions are:

  1. Is the latter behaviour desirable?

yes. minimal effort and minimal expansion is the right to go.

  1. If so, then:

2a) Should things just work this way, or should there be options?

No options. This seems to me the correct default.

2b) For Andrea, how much of a headache would it be to implement this
in citeproc-hs?

A huge one I’m afraid. If the number of contributor were fixed it
would be a line of code. Every contributor is a list of all the
possible strings the can come out by applying disambiguation rules. I
need to get all possibilities. Suppose this list of lists:
[[1,2,3],[4,5,6]]

I need to get:

[[1,4],[1,5],[1,6],[2,4],[2,5],[2,6],[3,4],[3,5],[3,6]]

I’ll find a solution.

Andrea