From: "boris_stitnicky (Boris Stitnicky)" Date: 2013-05-30T23:42:35+09:00 Subject: [ruby-core:55208] [ruby-trunk - Feature #8437] custom operators, unicode Issue #8437 has been updated by boris_stitnicky (Boris Stitnicky). Who the heaven told you that people write code in ASCII? The Unicode idea is quite corny. See https://github.com/collectiveidea/unicode_math, also as unicode_math gem. I find the present operator assortment varied enough to build the internal DSLs I want, such as: SO��� + H���O >> H���SO��� | { ��H: -146.kJ.mol�����, E���: 0.kJ.mol����� } (Not functional yet, but you can already try units with Unicode exponents, gem install sy.) Precedence table is the main feature and strength of operators. Connected to this is the less important feature of operators, the one that appeals to you, which is the possibility to drop the dot in their call: a.+( b ) #=> a + b In my opinion, it is good to have the operators that we already have, but I would not like to have more. As for unary operators, they can always be replaced by unary method definitions: def ��( t ); ... end Precedence table already takes months to learn (for me). My memory is not below average, so I guess there must be some psychological snag, why even today, I have to check the Ruby book for precedence table all the time. ---------------------------------------- Feature #8437: custom operators, unicode https://bugs.ruby-lang.org/issues/8437#change-39570 Author: eike.rb (Eike Dierks) Status: Open Priority: Low Assignee: Category: Target version: Next Major 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 ��t Or if you're working with angles, you might call your variables �� or �� This is completely legal in Ruby. I'm asking for: this_set ��� other_set or maybe we could even do this for prefix like: ���2 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. -- http://bugs.ruby-lang.org/