On Tue, Jul 29, 2014 at 11:54 AM, Reid Vandewiele <r...@puppetlabs.com> wrote:
> Definitely excited to see this stuff moving forwards. > > On Thursday, July 24, 2014 5:32:13 PM UTC-7, Andy Parker wrote: > >> >> Henrik took all of the ideas and started trying to work out what we could >> do and what we couldn't. Those are in a writeup at >> https://docs.google.com/a/puppetlabs.com/document/d/1mlwyaEeZqCfbF2oI1F- >> 95cochxfe9gubjfc_BXjkOjA/edit# >> >> > According to that doc, syntactically we are transitioning from this: > > * *Instantiation* notify { hi: message => 'hello' } > * *Default* Notify { message => 'greetings' } > * *Override* Notify[hi] { message => 'hello there' } > > To this: > > * *Instantiation* notify { hi: message => 'hello' } > * *Default* Notify { default: message => 'greetings' } > * *Override* Notify[hi] { default: message => 'hello there' } > > That was the proposal at one point in time. Lower down in the document you can read through the various proposals for changes that Henrik presented and then the email thread here is the final decisions that we reached. The puppet-specification[1] should contain the language definition of what we will be shipping as the future parser in 3.7 and the real thing in 4.0. Specifically the changes to Default and Override expressions aren't being done. The problems with the proposal was that it created too many different ways of doing something and we didn't think that the changes would be something that we could even keep as the catalog system evolves. The specific problem we are keeping in mind is the one of "duplicate resources", and the solution that we have in mind makes override and default expressions fit very poorly. Instead we need precedence rules in order to determine which resource expression's value is the one that should be used. 1: https://github.com/puppetlabs/puppet-specifications This mostly makes sense except for the use of the literal "default" in the > Override syntax. The term "default" implies semantics which I don't think > are correct. When using an override it's often the case that previously set > values are being explicitly swapped out for different ones. It seems like > it would make more sense to change the placeholder word to something that > reflects that values set take precedence. E.g. > > * *Override* Notify[hi] { override: message => 'hello there' } > > Is it an intentional design decision to continue to use the word "default" > in the new syntax for resource overrides? > > ~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 puppet-dev+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/puppet-dev/1d192839-f8e3-4d0f-a5f8-1c790e96fca0%40googlegroups.com > <https://groups.google.com/d/msgid/puppet-dev/1d192839-f8e3-4d0f-a5f8-1c790e96fca0%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > For more options, visit https://groups.google.com/d/optout. > -- Andrew Parker a...@puppetlabs.com 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 puppet-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/CANhgQXvBWH%3DRazq190j3jz6eSt5AE12H%2BWUb5i3LtEjxj%2BUAkA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.