Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!cs.utexas.edu!tut.cis.ohio-state.edu!ucbvax!ucsd!hub!eiffel!bertrand From: bertrand@eiffel.UUCP (Bertrand Meyer) Newsgroups: comp.lang.eiffel Subject: Re: Problem with semantics of 'put' in Eiffel library class LINKED_LIST Summary: Why? Message-ID: <237@eiffel.UUCP> Date: 21 Jan 90 03:51:27 GMT References: <1749@novavax.UUCP> Organization: Interactive Software Engineering, Santa Barbara CA Lines: 26 In <1749@novavax.UUCP>, weiner@novavax.UUCP (Bob Weiner) suggests changing the semantics of ``put'' in the list classes of the Data Structure library. The effect would be the same as that of ``put_left''. The referenced message only talks about LINKED_LIST but of course the same change would have to be made to other list classes as well. I am somewhat puzzled by the suggestion: - Why choose the semantics of put_left rather than that of put_right? - Since we already have put_left, why have another procedure which has a different name and the same effect? Although synonyms may make sense in some cases, basic libraries should be both complete and minimal (``the relevant features, all the relevant features, nothing but the relevant features''). The feature name set should be minimal too. - An operation such as the one currently called ``put'' will be needed anyway. After changing the semantics of the current ``put'', we would reintroduce a routine with the old semantics and another name! I have argued in this newsgroup and elsewhere that one should not be afraid of change if it is carried out professionally and responsibly. But this applies to change that is needed. In this particular case, I can't see anything wrong with the current status of put, put_left and put_right. -- Bertrand Meyer bertrand@eiffel.com