I was curious If Ruby could do something like this one day: ( (a b) V ¥ã(a ¥Ò c) ) ¥Ò ((c V d) ¥Ò ¥ã(b) ) The problem as you can tell is that Ruby's operators are limited to a set of chars like +,*, /, etc.... so basically and after defining the method ¥Ò , i still can't do: a ¥Ò b and all i can do is a.¥Ò b This will be possible if Ruby's infix operator model was extended to support other set of chars. I don't know if it's possible to do things like Scala also: hash1 merge hash2 which is like doing: hash1.merge hash2 But at least it will be cool to extend the support for operators to do things like the first example. Thanks.