<?xml version="1.0" encoding="windows-1252"?>
<node id="836522" title="Re^7: A wholly inadequate reply to an Anonymous Monk" created="2010-04-23 09:36:44" updated="2010-04-23 09:36:44">
<type id="11">
note</type>
<author id="2836">
audreyt</author>
<data>
<field name="doctext">
&lt;p&gt;The dash syntax one was straightforward. This works in Perl 5:&lt;/p&gt;

&lt;code&gt;
*{"foo-bar"} = sub { "Hello, @_!\n" };
print &amp;{"foo-bar"}('world');
&lt;/code&gt;

&lt;p&gt;It might work in Perl 4 or even Perl 3, but I had not verified yet... :-)&lt;/p&gt;

&lt;p&gt;As for object systems: Well, the very notion of "object systems" means "interfaces as types", and it's precisely across those interfaces we bridge between calling conventions. &lt;/p&gt;

&lt;p&gt;Please refer to William Cook's &lt;a href="http://userweb.cs.utexas.edu/users/wcook/Drafts/2009/DataAbstractionRevisitedTalk.pdf"&gt;slides&lt;/a&gt; and &lt;a href="http://userweb.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf"&gt;essay&lt;/a&gt; for more rigorous explanations of the interface/OO link.&lt;/p&gt;

&lt;p&gt;So in that sense, there are really no totally incompatible object systems, since any two such systems can embed one another using cross-system meta-object protocol.&lt;/p&gt;</field>
<field name="root_node">
836349</field>
<field name="parent_node">
836490</field>
</data>
</node>
