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.

Reply via email to