When I posted sample code from the Perl 6 Set module to the perl6-language, some may have balked at the below;

my $low = set( 0..4 ); my $odd = set( (0..4).map:{ $_ * 2 + 1 } ); say $low ∋ 4; # true say ($low ∖ $odd).members.join(","); # 0,2,4 say ( $low ∪ $odd ) ⊇ $low; # true

(PerlMonks seems to have eaten the Unicode characters in the above, so go to the post link to see the original)

As Perl 6 allows custom operators to be defined, and there were specific Unicode characters in the mathematical section for the precise operations being performed, I thought that they were a good fit.

But to what extent should this principle be carried on, and how can we ease the difficulties of switching back to the "right" symbols for things?

To further explore this idea, I updated the Unicode quickref with the operations available in the Set module, and made a cursory glance across various sections of Unicode for likely candidates for further use as operators.

Now, whether or not you agree that the longer standing conventions used by other fields of science, such as Mathematics, Philosophy and Logic should take precedence over the now standard conventions of Computer Science, these Unicode characters have a clear purpose, and I'd like to use them! So, this may end up in a non-core module, but this discussion will still be relevant.

There are lots of issues here;

This is a constructive meditation, so keep the Green Hats on please. In particular, I'd like to avoid discussion about whether or not this is a good idea. You might have heard of APL and its use of strange glyphs for every control structure there is, but if you look at the Unicode Sliderule page 23, characters \x{2336} - \x{237a}, you'll see that APL's characters were in their own class of awfulness. That is a mistake I don't think anyone wants to repeat.

In addition to the above question, any other suggestions for appropriate Unicode characters to add to the quickref for review or humour would certainly help explore this topic!

$h=$ENV{HOME};my@q=split/\n\n/,`cat $h/.quotes`;$s="$h/." ."signature";$t=`cat $s`;print$t,"\n",$q[rand($#q)],"\n";

In reply to Perl 6 and Unicode Operators by mugwumpjism

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.