On Sun, Aug 10, 2014 at 10:53 PM, Reid Vandewiele <[email protected]> wrote:
> On Sunday, August 10, 2014 7:11:11 PM UTC-7, Trevor Vaughan wrote: >> >> Yeah, I know that it doesn't actually mutate. But it *feels* like it >> does, which is the issue. >> >> Trevor >> > > For this reason I would advocate omission of += and -= from the language. > > The problem is not that the behavior is inconsistent or that it breaks any > -rules-, per se. The problem is that the behavior is non-intuitive and not > just in a difficult-to-guess-at way, but in a can-directly-confuse-users > way. Yes, $fqdn is potentially different from $::fqdn but if we're trying > to guide people into a mindset of "variables are immutable" we should not > muddy the waters with syntax that looks contradictory to that paradigm - > especially if all it gains us is saving a few characters being typed. > > I believe this constitutes a compelling design reason to remove += and -=. > > I can agree to that. Reid, I suppose that you've encountered people being confused by this when working with new puppet users? I just chatted with Hunter and Ashley on #puppet-dev and they also agree that += should be taken out back and shot. We also discussed how best to remove it, and the conclusion that we came to was: * leave it as-is in the current parser. Don't even issue a deprecation warning * mention += going away in the docs * Remove the implementation from the future parser * Retain the ability in the future parser to parse += and -= * When += or -= are encountered, the validation step will issue an error (this allows us to issue a much better error than just "Syntax Error") * Remove all mention of += and -= from the specification. This isn't part of the language, the implementation is only dealing with it to produce a good error message for the transition. I just checked a dump of the forge from yesterday and += is still only used in the 2 modules that I mentioned in the ticket, so it hasn't proliferated as far as I can tell. > ~Reid > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Developers" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-dev/4a0b0503-dd0a-408f-b856-afe91374a924%40googlegroups.com > <https://groups.google.com/d/msgid/puppet-dev/4a0b0503-dd0a-408f-b856-afe91374a924%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Andrew Parker [email protected] Freenode: zaphod42 Twitter: @aparker42 Software Developer *Join us at PuppetConf 2014 <http://www.puppetconf.com/>, September 22-24 in San Francisco* *Register by May 30th to take advantage of the Early Adopter discount <http://links.puppetlabs.com/puppetconf-early-adopter> **—**save $349!* -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/CANhgQXsdCPtq0NgQvkei1xje6cPjucTUQpfNbbBf12WJSJ969w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
