On Mon, Nov 07, 2005 at 09:37:04AM -0800, Larry Wall wrote:
: It would be nice to generalize this sufficiently to be able to declare
: polymorphic objects resembling match objects:
: 
:    my $matchobj(Poly:  Key^Int^Notthere --> Any);
: 
: Or maybe that should be:
: 
:    my $matchobj\(Highlander);
: 
: :-)

But seriously, I do keep wanting poly objects to keep trees in.  For
example, I want to represent XML with the tag attributes in a hash
but the contents in a list:

    $obj = q:xml;                       # (conjectural here-xml syntax)
        <t1 a1="x" a2="y" a3="z">
            text2
            <t2/>
            text2
        </t1>

    say ~$obj;                  # t1
    say $obj.xml;               # <t1 ... /t1>
    say $obj{a2};               # y
    say $obj[2];                # text2
    say ~$obj.first('t2')       # t2
    say $obj.first('t2').xml    # <t2/>

Larry

Reply via email to