shelley@atc.sps.mot.com (Norman K. Shelley) (02/15/90)
New Desired Upgrade for Eiffel 3.0 (14Feb90) Currently Using Eiffel 2.2B Givens: 1.) The "Open-Closed Principle". In order to utilize this effectively the requirements for its use should not be onerous and should apply across ALL classes. Otherwise developers will be able to utilize the benefits for most classes BUT will feel stymied when special classes do NOT allow for easy extension and use. 2.) Language developers can not know all the needs of application writers and in fact are NOT required to know all our needs as libraries should be left open for extension. This is NOT the case for basic classes i.e. CHARACTER, INTEGER, REAL, ... and is painful for extensions of STRING. Desired Features: 1.) BASIC TYPES -- We would like to be able to extend basic classes. Inheriting a class for math functions does not seem as elegant as being able to extend NUMERIC. 2.) We need to add character functions, string functions (there is a kludgy way for string), etc. Not being able to extend basic classes ties our hands! Many needed CHARACTER features have not been provided by I.S.E. and we can not always wait till we can persuade them sufficiently to add a new feature. Other 3.) The Eiffel keyword "is" should be inheritable and redefineable. This would allow one to inherit from STRING and still be able to use regular Eiffel notation to easily create constants or dynamic objects e.g. a: EXTENDED_STRING is "abc" without having to go through a kludge like "adapt". This would also be nice for numerics, characters, etc. (if/when basics are extendable) x: EXTENDED_INTEGER is 1; xh: EXTENDED_CHARACTER is 'd'; Basic classes need user refinement also. Norman Shelley Motorola - ATC 2200 W. Broadway AZ09/M350 Mesa, AZ 85202 ...!uunet!dover!atc!shelley shelley@atc.sps.mot.com (602) 962-2473