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
objects.
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
that...
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...
Jonathan