<div dir="ltr">Ooo that's cunning, that module that Duncan just linked to uses overloading of constants (docs: <a href="http://perldoc.perl.org/overload.html#Overloading-Constants">http://perldoc.perl.org/overload.html#Overloading-Constants</a> ).<div>
<br></div><div>This allows it to turn the string '1/2' into a Number::Fraction object at compile time. Very clever.</div><div><br></div><div>I wonder what the scope is, surely just constants in the calling packing, what if more than one imported packages set up similar constant overloading? I can't imagine this is a very used feature of Perl. Cool never-the-less.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On 21 March 2014 20:17, Duncan Garland <span dir="ltr"><<a href="mailto:duncan.garland@ntlworld.com" target="_blank">duncan.garland@ntlworld.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-GB" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><a href="http://search.cpan.org/~davecross/Number-Fraction-2.00/lib/Number/Fraction.pm" target="_blank">http://search.cpan.org/~davecross/Number-Fraction-2.00/lib/Number/Fraction.pm</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Don’t know if this is relevant, but Number::Fraction was conceived as a demonstration of operator overloading.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Southampton-pm [mailto:<a href="mailto:southampton-pm-bounces%2Bduncan.garland" target="_blank">southampton-pm-bounces+duncan.garland</a>=<a href="mailto:ntlworld.com@pm.org" target="_blank">ntlworld.com@pm.org</a>] <b>On Behalf Of </b>James Raspass<br>
<b>Sent:</b> 21 March 2014 20:12<br><b>To:</b> <a href="mailto:southampton-pm@pm.org" target="_blank">southampton-pm@pm.org</a><br><b>Subject:</b> [Southampton-pm] A case for custom infix operators<u></u><u></u></span></p>
<div><div class="h5"><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Inspired by this in Python - <a href="http://legacy.python.org/dev/peps/pep-0238" target="_blank">http://legacy.python.org/dev/peps/pep-0238</a><u></u><u></u></p>
<div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">I wanted to see how easily an integer dividing operator could be added to Perl.<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p>
</div><div><p class="MsoNormal">This implementation is a bit of a hack. I'm sure Tim'll appreciate the blessed scalar ref :P<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">
What do people think? It would be nice to have first class support for custom operators in Perl, there has been some discussion on P5P but it never went anywhere - <a href="http://www.nntp.perl.org/group/perl.perl5.porters/2013/08/msg205547.html" target="_blank">http://www.nntp.perl.org/group/perl.perl5.porters/2013/08/msg205547.html</a><u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><div><p class="MsoNormal">[jraspass@gibson ~]$ ./<a href="http://div.pl" target="_blank">div.pl</a><u></u><u></u></p></div><div><p class="MsoNormal">3.33333333333333<u></u><u></u></p>
</div><div><p class="MsoNormal">3<u></u><u></u></p></div><div><p class="MsoNormal">3.33333333333333<u></u><u></u></p></div><div><p class="MsoNormal">3<u></u><u></u></p></div><div><p class="MsoNormal">3.33333333333333<u></u><u></u></p>
</div><div><p class="MsoNormal">3<u></u><u></u></p></div><div><p class="MsoNormal">3.33333333333333<u></u><u></u></p></div><div><p class="MsoNormal">3<u></u><u></u></p></div></div><div><p class="MsoNormal"><u></u> <u></u></p>
</div><div><p class="MsoNormal">PS we should really get an IRC channel :)<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">James<u></u><u></u></p></div></div></div></div>
</div></div><br>_______________________________________________<br>
Southampton-pm mailing list<br>
<a href="mailto:Southampton-pm@pm.org">Southampton-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/southampton-pm" target="_blank">http://mail.pm.org/mailman/listinfo/southampton-pm</a><br></blockquote></div><br></div>