[#70257] [Ruby trunk - Feature #11420] [Open] Introduce ID key table into MRI — ko1@...

Issue #11420 has been reported by Koichi Sasada.

11 messages 2015/08/06

[ruby-core:70597] [Ruby trunk - Feature #8437] custom operators, unicode

From: eike@...
Date: 2015-08-26 22:55:53 UTC
List: ruby-core #70597
Issue #8437 has been updated by Eike Dierks.


There have been comments on this feature request.

I'd like to suggest that the unicode symbols from:
   Mathematical Operators (U+2200=E2=80=93U+22FF) =E2=87=92 (())
should be informally reserved for future use.

While this should not apply to the other planes of the unicode space as men=
tioned Mathew's post.

Informally reserving the code would not break any code.
Only very few codes would use the operators a method names,
but even that would not break existing code (at least I believe -- need to =
test)


It;s more up to add symbols to the parser,
so that these should be recognized as infix operators.

I believe this can easily be done and would not even break existing code.

x =E2=88=88 set
seta =E2=8A=82 setb
seta =E2=8A=83 setb
a =E2=8A=99 b

you get the idea

This is not yet possible,
because the parser limits the infix operators to a few ascii symbols.


I suggest to modify the parser to accept all operators from the unicode ope=
rator plane,
as to be allowed as infix operator symbols.

















----------------------------------------
Feature #8437: custom operators, unicode
https://bugs.ruby-lang.org/issues/8437#change-54005

* Author: Eike Dierks
* Status: Open
* Priority: Normal
* Assignee:=20
----------------------------------------
The ruby language does currently one support a predefined set of operators.
It would be nice to add custom operators.
A lot of people ask about the elvis operator aka (?:) to cope with nil, aka=
 rails try()

This probably is a problem with the parser at first,
because introducing new operators makes parsing a lot more complicated.

Maybe we could allow symbols from the unicode space
to be used as new operators?
That would be compatible with all before code written in ascii.

So we could allow all the symbols from the unicode Math operators plane
to be available as operators in Ruby.

While few of you might have tried that,
Unicode is fully available for naming identifiers.

We should also extend the set of operators to the unicode space.

While we are still not used to it now,
to have some unicode characters in our codes,
could really add to the expressivness.


So as of today, you can already name your variable like
delta_t or =CE=94t

Or if you're working with angles,
you might call your variables =CE=B1 or =CE=98
This is completely legal in Ruby.


I'm asking for:
this_set =E2=88=AA other_set

or maybe we could even do this for prefix like:
=E2=88=9A2

I'd believe the math operator plane of unicode should be removed
from the allowable names of identifiers,
but should instead be reserved for operators in the parser, like + nowdays =
is.






















--=20
https://bugs.ruby-lang.org/

In This Thread