> Can I get a .car and a .cdr please?  In my limited mind "key" and "value"
   > are specific to hashes and their wimpy brother associative lists.

Sure. Roll-you-own with:

        module PAIR;

        method car { return .key }
        method cdr { return .value }


or, if you're really serious about it:


        module PAIR;

        method car { return .key }
        method cdr { return .value }

        method AUTOVIVIFY (&default, $name) {
                if ($name =~ m/^c([ad])([ad]*)r$/) {
                        my $next = "c$2r";
                        given ($1) {
                                when 'a': { return sub { .car.$next() } }
                                when 'd': { return sub { .cdr.$next() } }
                        }
                }
        }


Damian

Reply via email to