work in progress | string


proposal for class STRING

Rename infix "+" to infix "&"

Motion

Proposal for class STRING:

Rename feature infix "+" to infix "&".

Please select one of the following:

      Strongly prefer infix &
      Prefer infix &
      Prefer infix +
      Strongly prefer infix +
      Don't mind (happy either way)
      Abstain (not happy either way)

History

Neither infix "+" nor infix "&" is present in class STRING in the 1995 standard.

infix "+" is curently implemented by HACT, VE and SE, but not by ISE (although they have announced their intention to support it). A popular alternative feature name is infix "&".

Discussion Excerpts

(The full discussion is at http://www.egroups.com/group/eiffel-nice-library)

Pierre Metras (25 October 1999)

What about using infix "&" instead of infix "+", already used in typography
to associate two sentences, like in "David & Gotiath"? ...

BTW, I don't think that the symbol "&" has played a special role in group
theory or Mathematics in general, so its use as string concatenation will
not hurt the Eiffelist mathematicians;-)

Roger Browne (26 October 1999)

print(i1 & " is between " & i2 & " and " & i3 & '%N')
Hmm... the more I look at it the more I like infix "&" in GENERAL.

Paul Cohen (29 October 1999)

"&" is an operator that is well defined and easy to understand! I feel that the "&" operator is very close to my initutive notion of how to express string concatenation.

Scott Steinmann (29 October 1999)

The only problem with using '&' is that it might be interpreted by a novice or a person with a C/C++ background as meaning "logical and" or "bitwise and", which would greatly modify their determination of the statement's result. The character '+' does not have this ambiguity.

Joachim Durchholz (1 November 1999)

in Eiffel, & is not a standard operator, so we're free to use it to distinguish between concatenation and addition.

James McKim (2 November 1999)

Use "&" instead of "+" as the name of the routine. Note that this should have minimal impact even on vendors that are already using "+" as they can simply include the former as a synonym for the latter.

Franck Arnaud (3 November 1999)

The supposed benefits of "&" (well balanced by its disadvantages like the 'space after free operator' problem) compared to "+" seem rather underwhelming to justify moving from existing practice. And using synonyms would be really a waste of namespace and clarity of the short forms and portability issues (e.g. when redefining) for vitually no benefit.

Impact of proposed change

Low.

Result

The preferred feature name is infix "+".

Voting details

votes cast at eGroups:

Strongly prefer infix "+"
                franck.arnaud@omgroup.com
                glennm@westernport.com
                manus@eiffel.com
                kwaxer@aha.ru
Prefer infix "+"
                sergei_ivanov@object-tools.com
                steinman@sco.edu
                peter@deakin.edu.au
                xavier@halstenbach.com
                ericb@gobosoft.com
                fm@eiffel.de
                jweirich@one.net
Don't mind (happy either way)
                richieb@netlabs.net
                joachim.durchholz@halstenbach.de
Prefer infix "&"
                dougpardee@my-deja.com
                saunders@wchat.on.ca
Strongly prefer infix "&"
                genepi@sympatico.ca

email votes:

Prefer infix "&"
                pc_cohen@hotmail.com
                Simon Parker <sparker@eiffel.ie>

Implementation

An infix "+" feature has been added to class STRING in ISE Eiffel 4.5.