On Sat, 22 Jul 2017 09:12:31 -0700, c...@zoffix.com wrote:
> On Sat, 22 Jul 2017 07:53:26 -0700, alex.jakime...@gmail.com wrote:
> > This should work:
> >
> > Code:
> > say (:?foo);
> >
> > Result:
> > ===SORRY!=== Error while compiling -e
> > Bogus statement
> > at -e:1
> > ------> say (:⏏?foo);
> >     expecting any of:
> >         colon pair
> >
> >
> > Because these work:
> >
> > Code:
> > say (:foo);
> > say (:!foo);
> >
> > Result:
> > foo => True
> > foo => False
> 
> 
> -1 from me:
> 
> 1) Colonpairs are ubiquitous in the language, so there's large
> possibility of introducing some unwanted ambiguity somewhere and it's
> hard to predict where it might occur
> 2) Colonpairs are already one of the most complex syntax feature of
> the language, requiring beginners to learn a wealth of syntax to
> understand most of the common code.
> 3) Given (1) and (2), I'd expect any changes to extend their syntax to
> carry large benefits, however, the proposal offers literally zero
> practical use and the OP came up[^1] with this idea while trying to
> think of more cases to add to the catalog of colon uses in Rakudo. The
> `?` prefix op at least coerces the already-true arg to Bool (e.g.
> `?"foo" === True`) but in the case of the colonpair, there's nothing
> to coerce, so there's absolutely no point in typing the extra `?` and
> it's unlikely anyone would want to type it.

-1 from me as well, I agree with these first three points.

> 4) The OP makes the case that this syntax should exist solely for the
> sake of consistency, by interpreting the `!` in `:!foo` syntax to mean
> the `!` op, and there exists the `?` op. But if we follow that logic,
> it'd mean:
>     *) `!! ??` should be allowed too, to mean reverse ternary
>     *) `::!CLASS` should mean `anything but ::?CLASS`
>     *) `has $?foo` should be an alternative to `has $!foo`
>     *) `self?foo` should be an alternative to `self!foo`
>     *) `:-42foo` should parse just as `:42foo` parses
> The point being that the current syntax is `":"` vs `":!"` not `":"`
> vs `":" + some op`. And things that have "!" in them do not
> necessarily need to have a "?" alternative.
> 
> In summation, there's no practical use of this feature and it is
> unlikely it'll ever be used in real programs. The colonpair syntax is
> used across the entire language and any changes to it have large
> impact. It's very hard to anticipate any problematic ambiguity cases
> introduction of `?` into colon syntax might have. And given lack of
> technical benefits of this feature, I do not think we should accept
> the risks.
> 
> 
> [1] https://irclog.perlgeek.de/perl6/2017-07-22#i_14907647


-- 
Will "Coke" Coleda

Reply via email to