On Jul 30, 2014, at 1:02 PM, John Bollinger <john.bollin...@stjude.org> wrote: [...] > Here are the tests for the future parser (as changed by the PR) > > ["thing" ,"resource", ["thing"]], > ["[thing]" ,"resource", ["thing"]], > ["[[nested, array]]" ,"resource", ["nested", "array"]], > > > I still find that last one surprising, but if it really matches the current > behavior then so be it. What's the rule here, though? Array titles are > automatically flattened?
Just a small note here: I implemented this behavior intentionally, because it seemed the least of the available evils. When I first added the ability for resources to have arrays as titles, I didn't have any available operations for arrays. So, my choice was: Fail if you used nested arrays; change resources to support arrays as titles or behave appropriately if they got one and couldn't handle it; add complex array operations (so you could do things like flatten arrays); or just flatten for you. In most cases, it's not been a problem, but as we're looking at building a more coherent and consistent language, it makes sense to revisit this behavior. Note that when I implemented this, Puppet had almost no functions available by default, and no such thing as calling methods on objects, so implementing "flatten($array)" or "$array.flatten" would have been a pretty big leap. I think either would be less of a leap today, and it probably makes more sense to ask the user to transform their data into a valid form than to try to do magic transformations. And, as discovered, we clearly need to become a lot more careful in what kind of data we accept in these fields overall. So, to summarize: Yes, this is intentional, and it made sense at the time. It probably doesn't make sense as the default behavior much longer, though. [...] -- http://puppetlabs.com/ | http://about.me/lak | @puppetmasterd -- 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/088A2359-251C-4F27-95E6-A60C659C214F%40puppetlabs.com. For more options, visit https://groups.google.com/d/optout.