Alright,
on a very similar theme...

Puppet Saves Christmas
Puppet's Magic Cookbook
Follow that Puppet
Puppet in Wonderland
P is For Puppet

Back on topic, the way I see the language evolving is that there is one 
released set of language compliance levels, and one future, experimental 
option to turn on features for usability and field testing before final 
decisions are made.

Starting with the new parser (available with --parser future in 3.2) it is 
possible to support multiple language compliance checkers. As we did not 
want to be have perfect 3.1 bug compatibility (and drag past sins into the 
future) we decided to make the new parser an option in 3.2 as it is more 
restrictive. It is reasonable to expect that it is the default parser in 
Puppet 4.0, and it will then have a set of language compliance levels, one 
that is as close as possible to the latest 3.x version, i.e. with a 
reltively small set of breaking changes (from the top of my mind: numbers 
have to be valid in their given base, no fat arrow as comma, no assignment 
to numeric variables).

The idea is to use the --parser future implementation and ensure that there 
is validation that is 3.x compliant and that does mot allow any future 
additions (currently there is validation for 3.1 + all additions), an "all 
3.x restrictions" checker needs to be added.

The idea is to handle the evaluator (i.e. the "compiler") the same way as 
the parser (i.e. making it capable of supporting different compliance 
levels) since there are many things that can not be checked until 
runtime/compilation, and there is behavior that has a certain...uh, odor.

I hope we can correct the fundamental ones in the Puppet 4.0 evaluator
(there are smells around undef, possibility to alter immutable collections, 
around certain comparisons, and a few more corner cases - i.e. things that 
are difficult/impossible to support more than one way at the same time).

This work makes it possible for different modules to use different 
compliance levels! It is only the fundamentals that must be the same across 
all versions. To me this is perhaps the most important goal. Going forward 
it is unreasonable to expect that all forge modules must be updated at the 
same time in order for a user to adopt a newer version of puppet.

Regards, oh... BTW, here is one more Sesame Street Inspired Puppet Movie
Puppet Loves You !

- henrik 

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to