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-----

Reply via email to