First off, nice job Damian. This is the type of want() I've always
want()ed (excuse the pun). :-)

The one thing that isn't directly addressed (or maybe it is and I missed
it) is how to figure out whether something wants an *generic* object or
not.

For example, right now I'm writing the localtime() RFC, and I think it
would be really cool if want() could somehow distinguish between these:

   $date  =  localtime();     # scalar date
   $obj   =  localtime();     # localtime obj

That way, you would be able to get the scalar $date, as well as an $obj
that would let you get $obj->year directly.

This mentions that somewhat:

> =item I<Classname>
> 
> The subroutine was called in a context that would like to see an object of the named
> class returned:
> 
>         my Dog $spot = func();          # want 'Dog' returns true

but doesn't seem to mention the generic case; i.e., when you just want
"a class, any class" (i.e, as the return from a new()).

I was thinking (this is pre-alpha brainstorming) that one might be able
to overload ref() as the generic case in an LVALUE:

   my ref $obj = localtime();

Any ideas? Or did I miss something in the RFC?

Thanks,
Nate

Reply via email to