On Fri, Nov 08, 2002 at 08:35:00PM +1100, Damian Conway wrote:
: What you want are conversion-to-(num|str|bool) methods:
: 
:       sub a_pure_func(Num $n) returns Num {
:           class is Num {
:               has Num $cache;
:               sub value { $n * $n }
:               method operator:+ ($self:) { +($cache //= value ) }
:               method operator:~ ($self:) { ~($cache //= value ) }
:               method operator:? ($self:) { ?($cache //= value ) }
:           }.new
:       }

Just a nit, but those are probably prefix: rather than operator:, since
we may need more clues than just the arguments to distinguish:

    prefix:
    infix:
    postfix:
    circumfix:   (or should that really be outfix:?)

Larry

Reply via email to