Strict Relational Operators
felix
felix8a at gmail.com
Wed Apr 12 05:46:11 UTC 2017
Maybe every operator can have a non-coercing variant?
One possible syntax is to have a modifier on operators
x = a (<) b (+) c (&&) (!)d;
if (x (!=) y) ...
Another possible syntax is to have a modifier on expressions
x = #(a < b + c && !d)
if #(x != y) ...
On Tue, Apr 11, 2017 at 7:48 PM, Darien Valentine <valentinium at gmail.com> wrote:
> Although I’m unsure if this is wise given there are already eleven symbols
> that are combinations of `=` and `<`/`>`, for symmetry with `==` and `===`
> I’d imagine something like this:
>
> ```
> COERCIVE STRICT
>> =>=
> < =<=
>>= =>==
> <= =<==
> ```
>
> Could also follow the pattern `>==` (strict GT) and `<===` (strict GTE),
> which avoids the awkwardness of the latter two sharing opening chars with
> `=>`, but that seems more ambiguous since `>==` doesn’t let you infer
> whether it means strict GT or strict GTE.
>
> It’d be nice to have this functionality built in, but I wonder if it’d
> possibly be preferable to provide it through methods of one of the built-in
> objects, rather than as operators. Functions after all are more flexible.
>
> _______________________________________________
> es-discuss mailing list
> es-discuss at mozilla.org
> https://mail.mozilla.org/listinfo/es-discuss
>
More information about the es-discuss
mailing list