Allow regular letters as operator names

Operators are capable of so much more than extensions. For example, it's currently possible to create generic operators on unrestricted parameters, but you cannot extend 'Any' in the same fashion. It came up in a few discussions in the past: Where to start if you want to extend `Any` - #9 by DevAndArtist

infix operator <*>: DefaultPrecedence
func <*> <A, B>(left: A, right: B) -> (A, B) {
    (left, right)
}

You can create similar generic operators that are otherwise impossible to express using extensions.
(My motivation for introducing named operators is - apart from massive readability improvements - that it would unlock new, unexplored areas of writing DSLs.)

2 Likes