On 2013-05-04 3:10, James Turnbull wrote:
Andy Parker wrote:
On Thu, Apr 4, 2013 at 3:56 PM, Erik Dalén <erik.gustav.da...@gmail.com
<mailto:erik.gustav.da...@gmail.com>> wrote:
Yes, with the talk of a new parser I thought "the reboot plan" meant
something more like a movie reboot :)
Puppet 33 1/3
Puppet Reloaded
Puppet: New Moon
Thematically questionable. :)
The Great Puppet Caper
Puppet Takes Manhattan
The Puppet Christmas Carol
Puppet Treasure Island
Puppet from Space
Puppet ... Again!
Alright,
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 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 puppet-dev+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-dev@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.