« Return to Thread: rename and redefine with an attribute and a method

Re: rename and redefine with an attribute and a method

by Eric Bezault :: Rate this Message:

Reply to Author | View in Thread

Thomas Beale wrote:

> Eric Bezault wrote:
>  >
>
>  >
>  > Allowing redefinition of attributes to routines also means that
>  > the compiler will have to reject routines inherited from A that
>  > use `c' as the target of an assignment, and hence force the user
>  > to redefine these routines in B.
>  >
>  > If ECMA allows this kind of redefinition of attributes to routines,
>  > it will have to be very careful and identify all Eiffel constructs
>  > where the rules and behaviors are different when the entity is an
>  > attribute or a routine, as shown above for assignments.
>
> On the other hand, not allowing it takes away the choice to convert a
> stored representation of something into a computed form, which is one of
> the goals of the rule of uniform access (which is still one of the most
> powerful and under-recognised bits of genius - even if obvious in
> hindsight - in Eiffel).

That's why I was one of the proponent of allowing this kind
of redefinition when it was discussed at ECMA. I just wanted
to point out that we have to be careful if we allow it. It's
not just about relaxing a rule, it has nested implications.

--
Eric Bezault
mailto:ericb@...
http://www.gobosoft.com

------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/eiffel_software/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/eiffel_software/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:eiffel_software-digest@...
    mailto:eiffel_software-fullfeatured@...

<*> To unsubscribe from this group, send an email to:
    eiffel_software-unsubscribe@...

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/

 « Return to Thread: rename and redefine with an attribute and a method

LightInTheBox - Buy quality products at wholesale price