[swift-evolution] define backslash '\' as a operator-head in the swift grammar

Derrick Ho wh1pch81n at gmail.com
Tue Feb 7 08:23:05 CST 2017


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 at swift.org> wrote:

> And the overjoyed operator: \o/
>
> On 7 Feb 2017, at 08:04, Slava Pestov via swift-evolution <
> swift-evolution at 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 at 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 at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
> _______________________________________________
> swift-evolution mailing list
> swift-evolution at swift.org
> https://lists.swift.org/mailman/listinfo/swift-evolution
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-evolution/attachments/20170207/adfea153/attachment.html>


More information about the swift-evolution mailing list