perl6 Atomic Fission

I have been listening to the reaction on the web to the incorporation of an emoji as a unicode symbol in perl6 rakudo. Here’s a flavour…

( )

The rationale for the use of unicode symbols is as follows:

  • These represent operations that are rare
  • They relate to a specific domain (in this case, concurrency)
  • Programmers can always fall back on the ASCII version (e.g. atomic-inc )

BTW- ASCII versions are known as Texas versions since they are always bigger

Certainly this has caused some consternation – ranging from how can I type ⚛️ on my keyboard (hit CTRL-CMD-SPACE if you are on macOS ) to this will never be accepted for the coding standards of my company.

On reflection, while it is understandable that programmers have a well established comfort zone of ASCII text and using English for keywords, I think that perl6 is leading the way on an irresistible path. Of the 6.5bn people on the planet, only a small fraction prefer to work in English – or even in Latin alphabets. Now, the pioneering work to embed unicode in a programming language will open the doors to all kinds of invention. What about:

  • A slang (i.e. a perl6 sublanguage) for the French, Germans or Japanese programmer
  • Ability to parse all unicode alphabets – so linguists can digitize,  analyze and compose writing from all parts of the globe, even dead scripts like Egyptian
  • Or, back to the point, opening a new world of symbol space to side step the crammed ASCII non alphanumeric characters that confines our programming

And this, in combination with perl6 Grammars, opens some interesting conceptual doors.



One thought on “perl6 Atomic Fission”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s