As long as you don't impose to have at list a space between operators and identifiers you need to be able to split something like
a+b into an identifer called "a" followed by an operator "+" itself followed by an identifier "b" In principle we could think of using a way to delimiter an operator name we could have very expressive operator name. Imagine for instance using \(relativelyFreeOperatorName) outside a string literal defined as a valid operator, then you could write a\(relativelyFreeOperatorName)b without any problem. This is actually quite appealing to me, knowing that at some point, if the operator name becomes very long it seems relatively pointless to me to define it as an operator and not simply as a function. Nicolas On Tue, Feb 7, 2017 at 3:23 PM, Derrick Ho via swift-evolution < swift-evolution@swift.org> wrote: > I have found it strange that operator characters are the only ones that > may be used as operators. Sometimes Characters that look like operators are > not. > > Why does there need to be a divide? > > Why can't an arbitrary set of characters become operator-ized? > > For example some people would like "and" to become a binary operator and > use it instead of "&&" > > If we had the ability to define an operator out of any set of characters I > think it would make the swift language a lot better. > > Is there a technical reason why? > > > > On Tue, Feb 7, 2017 at 2:36 AM David Hart via swift-evolution < > swift-evolution@swift.org> wrote: > >> And the overjoyed operator: \o/ >> >> On 7 Feb 2017, at 08:04, Slava Pestov via swift-evolution < >> swift-evolution@swift.org> wrote: >> >> I really have nothing to add to this discussion, except for this fun >> fact: apparently, the backslash was added to ASCII so you could write /\ >> and \/ operators: http://www.bobbemer.com/BACSLASH.HTM >> >> Slava >> >> On Feb 5, 2017, at 7:29 AM, Nicolas Fezans via swift-evolution < >> swift-evolution@swift.org> wrote: >> >> Dear all, >> >> This is a rather simple proposal to add '\' (backslash character) as a >> valid operator-head in the swift grammar. >> >> One argument for it, is that there exist a backslash operator in the >> MATLAB/Scilab/Octave languages. In this languages A\B solves the linear >> system A*X = B for X (or the least square problem associated to it if the >> system of equations is overdetermined). I am doing some numerical >> computation in Swift and it would be nice to be able to declare the same >> operator name for this functionality. >> >> I might have missed some arguments for not adding them, but I seems to me >> that until now the \ character is only used inside of string literals. If >> that is the case, both uses should never generate a conflict or be >> ambiguous, isn't it? (String literals keep their interpretation of \ and \ >> used otherwise within the swift code will be interpreted as an operator or >> as the beginning of an operator) >> >> I am curious to see what will be the feedback on this. >> >> Nicolas >> _______________________________________________ >> swift-evolution mailing list >> swift-evolution@swift.org >> https://lists.swift.org/mailman/listinfo/swift-evolution >> >> >> _______________________________________________ >> swift-evolution mailing list >> swift-evolution@swift.org >> https://lists.swift.org/mailman/listinfo/swift-evolution >> >> _______________________________________________ >> swift-evolution mailing list >> swift-evolution@swift.org >> https://lists.swift.org/mailman/listinfo/swift-evolution >> > > _______________________________________________ > swift-evolution mailing list > swift-evolution@swift.org > https://lists.swift.org/mailman/listinfo/swift-evolution > >
_______________________________________________ swift-evolution mailing list swift-evolution@swift.org https://lists.swift.org/mailman/listinfo/swift-evolution