On Thu, 5 Mar 2009, Patrick R. Michaud wrote:
Log:
- Moved "defined" and "undefined" from Scalar.pod to Any.pod,
as per signature
...
+=item defined
+
+ our Bool multi defined ( Any $thing )
+ our Bool multi defined ( Any $thing, ::role )
+ our Bool multi method defined ( Any $self)
+ our Bool multi method defined ( Any $self, ::role )
.... Surely "defined" is a method on C<Object> ?
I made the assumption of "Any" because the existing signature allowed
Any as its type. Presumably the question we need to answer is whether
Junctions can be undefined, since, if I understand correctly, Junction and Any
compose from Object, and everything else composes from one of these. Of
course, I could be wrong again :).
After reading S02, though, I think I come to the same conclusion as
you -- .defined should be on Object.
In the methods above, if "$self" is intended to be the
invocant, I think it needs to have a colon after it.
I was wondering about this. In that case, I think this mistake needs
correcting elsewhere. I'll do it.
Also, I personally would prefer to not see explicit typing
on the invocants to most methods.
Agreed. I wonder what I was thinking :).
---------------------------------------------------------------------
| Name: Tim Nelson | Because the Creator is, |
| E-mail: wayl...@wayland.id.au | I am |
---------------------------------------------------------------------
----BEGIN GEEK CODE BLOCK----
Version 3.12
GCS d+++ s+: a- C++$ U+++$ P+++$ L+++ E- W+ N+ w--- V-
PE(+) Y+>++ PGP->+++ R(+) !tv b++ DI++++ D G+ e++>++++ h! y-
-----END GEEK CODE BLOCK-----