Hi Jakob, On Tue, 31 Mar 2020 at 02:58, Jakob Givoni <ja...@givoni.dk> wrote:
> - Will COPA pollute the symbol/syntax space? Very little > - Does COPA have any implications for future language evolution? None > that have been shown so far > COPA is by its nature a brand new syntax, and that does have implications for the language; that syntax has to be supported by whatever parser we might adopt, and in conjunction with any future syntax we add. Even if it doesn't cause ambiguity to the parser, there are only so many special syntaxes that users of the language will want to learn. As an extreme example, imagine if we had named parameters using braces and equal signs, object initialisers, and COPA: $foo = new Bar({someParam = $someValue}) { someProperty = $initialValue } -> [ someProperty = $newValue ]; I hope you agree that this combination would be horribly confusing, with each part looking similar but having different semantics. It follows that whichever of those syntaxes we accept first makes the others less likely, and that is a real cost. It is true that we sometimes risk making the perfect the enemy of the good, but there is also a risk in adopting something hastily and then finding it hard to improve later without breaking things. Regards, -- Rowan Tommins [IMSoP]