Daniel Ruoso wrote:
Em Sex, 2009-03-20 às 14:08 +0100, Jonathan Worthington escreveu:
It's probably a minor issue, but part of me wants Junction to be OK too for explaining stuff. Telling people the default parameter type is Any, to accept anything they can write Object and to accept just junctions you write Junction is pretty clear...having to then explain why you write Any and Object but then junction (lowercase) feels awkward.

everything is an Object.
not everything is Any. That is still true.

junction is a native type that doesn't do Any, and so far it seems to be
the only one. The capital vs lowercase J does not change that, it only
tells you that you cannot subclass "junction" as you can with non-native

I know all of this, I was more arguing for those who don't who need to learn it. :-)

Actually, if we support that, we kinda loose the point of making it a
native type...
I don't quite follow this.

The point of having it as native is that you don't need to do a
high-level method call to implement the autothreading, since it's a
native type, you can assume its representation format and go directly
into its guts to get the values...

Given method calls are so common in Perl 6 and something we probably want to make pretty fast anyway, I don't know there's a serious performance argument here.

But it does bring an interesting point - if we have a Junction role
then it's probably something that people can do on their own classes
to make their own thingies that auto-threading.

Meaning the auto-threading need to do a high-level method call to do

It had perhaps better require things doing the role to provide the !
eigenstates private though, otherwise the dispatcher is going to be
rather unhappy...

But... if the dispatcher needs to call it, it shouldn't be private
right? or is the dispatcher a specific class that Junction
implementation can trust?

Well, we've gone from eigenstates being added to Object on one day to needing to remove it from that and make it private in junction a few days later, so I'm still feeling quite "wait and see" on whether it really will end up private. :-) I guess the dispatcher can be trusted, or actually just defined inside the junction class anyway...


Reply via email to