[comp.lang.eiffel] Proposed additions to Eiffel

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