At Sunday, 27 November 2016 9:33 am. Mike Weilgart wrote: > I want to take a moment to talk about CFEngine adoption *far, far forward* > into the future. > ... > What is *your* response, as a CFEngine developer, to the ideas laid out > above? Shall we work toward a more precise language specification for > CFEngine 4.x?
I just couldn't agree more. For a start, I can presume that current CFEngine3.x promise file syntax may be more than enough to cover all usages and underlying theory. Let me provoke that there is no need to introduce any new syntactic elements. But, as you said, problem is that many of the existing promise types (implementations, that is) have arbitrary quirks in the way they are evaluated and executed. I had resorted several times into reading the source code to understand why some promises had been behaving so. So, indeed, there must be a core, clear and universal approach to all promises, their dependencies etc. I would dare to add, also, that extending promise types within the monolithic binary may not work long-term, making CFEngine's code hard to maintain and adapt to all usage scenarios (think the needs of embedded devices vs. data- center clusters). Given the above formal language specification, parts of CFEngine could be split out to /modules/, as in dynamically-linked libraries. That said, I'm also (IMHO, always) against this trend of abstracting the promise declaration at some JSON configuration file. Using a different technology for each layer of abstraction makes the system less comprehensible, the learning curve steeper. Instead, let's investigate why the CFEngine language/syntax can't (or can it? ) be used, itself, to abstract promises/ bundles into higher levels.. -- You received this message because you are subscribed to the Google Groups "dev-cfengine" 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]. To view this discussion on the web visit https://groups.google.com/d/msgid/dev-cfengine/1956931.y4SqOl9s3Y%40xorhgos3.pefnos. For more options, visit https://groups.google.com/d/optout.
