Overrides to store hash of the original method?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Overrides to store hash of the original method?

Boris Popov, DeepCove Labs (SNN)
Wouldn't it be cool if every override stored the hash of the original
method and notified you when loading onto a method with a different
signature (i.e. updated code)? I find myself reviewing all overrides of
base classes with every revision of VisualWorks and it might be helpful
if it was a little easier.

I better go hide somewhere because I suspect this will evolve into a
conversation about proper treatment of multiple overrides with regards
to ordering etc, then slowly become a rant about VisualWorks base image
containing many many many overrides in the shipping version, then slowly
boil down to native widgets again :D

Cheers!
 
-Boris

--
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

[hidden email]

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.

Reply | Threaded
Open this post in threaded view
|

Re: Overrides to store hash of the original method?

Travis Griggs-3
On May 29, 2007, at 16:04, Boris Popov wrote:

Wouldn't it be cool if every override stored the hash of the original
method and notified you when loading onto a method with a different
signature (i.e. updated code)? I find myself reviewing all overrides of
base classes with every revision of VisualWorks and it might be helpful
if it was a little easier.

I better go hide somewhere because I suspect this will evolve into a
conversation about proper treatment of multiple overrides with regards
to ordering etc, then slowly become a rant about VisualWorks base image
containing many many many overrides in the shipping version, then slowly
boil down to native widgets again :D

Did someone say something? Thought I heard something...

:D

--
Travis Griggs
Objologist
Time and Countertops. They both get used up way too fast.


Reply | Threaded
Open this post in threaded view
|

RE: Overrides to store hash of the original method?

Boris Popov, DeepCove Labs (SNN)
Okay, you are asking for it then,

Override overrides size

visual.im = 30
base.im = 5

Is this some kind of dissociative identity disorder? ;)

-Boris

--
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

[hidden email]

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.

> -----Original Message-----
> From: Travis Griggs [mailto:[hidden email]]
> Sent: Tuesday, May 29, 2007 4:26 PM
> To: VW NC
> Subject: Re: Overrides to store hash of the original method?
>
> On May 29, 2007, at 16:04, Boris Popov wrote:
>
>
> Wouldn't it be cool if every override stored the hash of the
> original
> method and notified you when loading onto a method with a
different
> signature (i.e. updated code)? I find myself reviewing all
overrides
> of
> base classes with every revision of VisualWorks and it might be
> helpful
> if it was a little easier.
>
> I better go hide somewhere because I suspect this will evolve
into a
> conversation about proper treatment of multiple overrides with
> regards
> to ordering etc, then slowly become a rant about VisualWorks
base
> image
> containing many many many overrides in the shipping version,
then

> slowly
> boil down to native widgets again :D
>
>
> Did someone say something? Thought I heard something...
>
> :D
>
> --
> Travis Griggs
> Objologist
> Time and Countertops. They both get used up way too fast.
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Overrides to store hash of the original method?

Travis Griggs-3
On May 29, 2007, at 16:35, Boris Popov wrote:

Okay, you are asking for it then,

Override overrides size

visual.im = 30
base.im = 5

Is this some kind of dissociative identity disorder? ;)

Now you're just confusing me. Per your previous post, we were supposed to 

"...evolve into a conversation about proper treatment of multiple overrides with regards
to ordering etc..." and _then_ "...slowly become a rant about VisualWorks base image
containing many many many overrides..."

I pencil'ed in at least a week to deal with the first part (multiples and ordering and etc). But now you've gone ahead and taunted straight to the second item. :D

I think it'd be more fun to have a long discussion about all kinds of menu items we could add to the browser and different points to manage and manipulate overrides. We promise to make them all start with R. All with the background of supporting multiple different models of development, with or without bundles. And some guy jumping up and down screaming "but what about the newbie experience." :D

--
Travis Griggs
Objologist
"Dying men never wish they'd spent more time at the office"


Reply | Threaded
Open this post in threaded view
|

Re: Overrides to store hash of the original method?

Travis Griggs-3
In reply to this post by Boris Popov, DeepCove Labs (SNN)
On May 29, 2007, at 16:04, Boris Popov wrote:

Wouldn't it be cool if every override stored the hash of the original
method and notified you when loading onto a method with a different
signature (i.e. updated code)? I find myself reviewing all overrides of
base classes with every revision of VisualWorks and it might be helpful
if it was a little easier.

Flippant posts aside. I want to make sure I understand what you're really after. To do what you're after, a method would have to know _at publish time_ that it was an override. I.e. it would be a different kind of code entity than just a normal method. And having done so, you could add info about what it was derived from. What you suggest in this case, is a hash value, I assume derived from either the source, or the bytecode tree, or the parse tree, or...?

<Segue>I've been kicking around a different way of modeling overridden methods for a bit now. It basically involves getting rid of the Override class and putting a minimal API on CompiledMethhod, and using AnnotatedMethods to build an in place linked list of methods. Then manipulating them is more direct. But I don't think this would really improve the situation for what you want if I understand correctly as described above.</Segue>

It seems that the current system is a runtime overrides system. Whereas what you want is compile time overrides. Is that a fair summary?

--
Travis Griggs
Objologist
10 2 letter words: "If it is to be, it is up to me"


Reply | Threaded
Open this post in threaded view
|

RE: Overrides to store hash of the original method?

Boris Popov, DeepCove Labs (SNN)
Travis,

That's pretty much spot on, although one way to do it right now would be
to tag the overriding method with <original: hash> at compile time where
hash is derived from a parse tree (tags included, comments excluded) of
the overridden method. Then just have the compiler check the hash again
at load to make sure that you're overriding original behavior that
hadn't been modified since.

I do like the idea of getting rid of Override and on a first glance it
doesn't seem like it would be that much tinkering, but yes, you'd still
need to add what I'm talking about and it doesn't appear that it would
be much different there. I'll poke around more on the way home today.

Cheers!

-Boris

--
+1.604.689.0322
DeepCove Labs Ltd.
4th floor 595 Howe Street
Vancouver, Canada V6C 2T5
http://tinyurl.com/r7uw4

[hidden email]

CONFIDENTIALITY NOTICE

This email is intended only for the persons named in the message
header. Unless otherwise indicated, it contains information that is
private and confidential. If you have received it in error, please
notify the sender and delete the entire message including any
attachments.

Thank you.

> -----Original Message-----
> From: Travis Griggs [mailto:[hidden email]]
> Sent: Tuesday, May 29, 2007 5:24 PM
> To: VW NC
> Subject: Re: Overrides to store hash of the original method?
>
> On May 29, 2007, at 16:04, Boris Popov wrote:
>
>
> Wouldn't it be cool if every override stored the hash of the
> original
> method and notified you when loading onto a method with a
different
> signature (i.e. updated code)? I find myself reviewing all
overrides
> of
> base classes with every revision of VisualWorks and it might be
> helpful
> if it was a little easier.
>
>
> Flippant posts aside. I want to make sure I understand what you're
really
> after. To do what you're after, a method would have to know _at
publish
> time_ that it was an override. I.e. it would be a different kind of
code
> entity than just a normal method. And having done so, you could add
info
> about what it was derived from. What you suggest in this case, is a
hash
> value, I assume derived from either the source, or the bytecode tree,
or
> the parse tree, or...?
>
>
>
> <Segue>I've been kicking around a different way of modeling overridden
> methods for a bit now. It basically involves getting rid of the
Override
> class and putting a minimal API on CompiledMethhod, and using
> AnnotatedMethods to build an in place linked list of methods. Then
> manipulating them is more direct. But I don't think this would really
> improve the situation for what you want if I understand correctly as
> described above.</Segue>
>
> It seems that the current system is a runtime overrides system.
Whereas
> what you want is compile time overrides. Is that a fair summary?
>
> --
> Travis Griggs
> Objologist
> 10 2 letter words: "If it is to be, it is up to me"
>