<html>
<body>
<font size=3>At 07:02 PM 9/14/2007, Montgomery Conner wrote:<br>
<blockquote type=cite class=cite cite="">AFAIN this tactic was originally
proposed by Damian Conway in his 2000 book 'Object Oriented Perl'... the
implementation is typically called 'inside-out objects'.<br><br>
These have been implemented in dozens of ways over the last few years,
but perhaps the best explanation and description is the documentation
that comes with Damian's own Class::Std... here:
<a href="http://search.cpan.org/%7Edconway/Class-Std-v0.0.8/lib/Class/Std.pm">
http://search.cpan.org/~dconway/Class-Std-v0.0.8/lib/Class/Std.pm</a><br>
<br>
<br>
good luck,<br>
Montgomery</font></blockquote><br>
The discussion in Class::InsideOut::Manual::About mentions the other
inside-out implementations, and recommends the larger Object::InsideOut
or itself, Class::InsideOut. From the reading I would recommend
either of these "inspired by" modules over the
inspiration.<br>
<font size=3>
<a href="http://search.cpan.org/~dagolden/Class-InsideOut-1.08/" eudora="autourl">
http://search.cpan.org/~dagolden/Class-InsideOut-1.08/</a><br>
<a href="http://search.cpan.org/~jdhedden/Object-InsideOut-3.25/" eudora="autourl">
http://search.cpan.org/~jdhedden/Object-InsideOut-3.25/</a><br><br>
<br>
<blockquote type=cite class=cite cite="">On 9/14/07, <b>Tim McDaniel</b>
<<a href="mailto:tmcd@panix.com">tmcd@panix.com</a></font>>
wrote:<br>
<dl>
<dd>I dimly recall a presentation about "inverted objects" or
some phrase<br>
<dd>like that. The standard Perl procedure boils down to<br>
<dd> my $obj = {};<br>
<dd> $obj->{foo} = 123;<br>
<dd> $obj->{bar} = 456;<br><br>
<dd>The technique was something like<br>
<dd> my $obj = \0; # some way of generating
a unique reference<br>
<dd> $foo{$obj} = 123;<br>
<dd> $bar{$obj} = 456;<br>
<dd>This allows compile-time "member" checking and perhaps
other <br>
<dd>advantages that I don't recall right now.<br><br>
<dd>Who thought of this pattern (was it Schwartz?) and where can I read
up<br>
<dd>on it again?<br><br>
<dd>--<br>
<dd>Tim McDaniel, <a href="mailto:tmcd@panix.com">tmcd@panix.com</a>
<br>
<dd>_______________________________________________<br>
<dd>Austin mailing list<br>
<dd><a href="mailto:Austin@pm.org">Austin@pm.org</a><br>
<dd><a href="http://mail.pm.org/mailman/listinfo/austin" eudora="autourl">
http://mail.pm.org/mailman/listinfo/austin</a> <br><br>
</dl><br>
_______________________________________________<br>
Austin mailing list<br>
Austin@pm.org<br>
<a href="http://mail.pm.org/mailman/listinfo/austin" eudora="autourl">
http://mail.pm.org/mailman/listinfo/austin</a></blockquote></body>
</html>