On Sun, May 8, 2011 at 05:01, Daniel V. Klein <d...@lonewolf.com> wrote:

> But yes, it would have been difficult to define YrMod3Eq2, because then you
> have to work very hard to make everyone happy, and eventually someone starts
> insisting on getting real math, and then the whole promise theory
> implementation breaks, because you can't effectively mix procedural code
> with declarative code :-)


Oh, I had considered the technical aspect, but of course there's *that* part
as well. :)

However, I was only suggesting those basic hard-coded classes -- the "Mod"
in there doesn't mean "do the modulus and compare", but rather "the result
of the modulus is equal to". A subtle difference but an important one -- in
the former case, it's imperative, but in the latter it's declarative and
you'd be able to determine the classes before-hand if there is a finite set
of choices. That's why I suggested a constant maximum for the mod classes,
that could be changed at compile-time but not thereafter.

Also, you can already do "real math" -- call a shell command to do the
computation and use an appropriate return code, then define the class based
on that. If the command is pure (as in "pure function") then it fits in with
promise theory.

Anyhow, this seems like a very academic discussion (which I am absolutely
happy to have!) -- I don't see a practical use, for myself, for the
life-cycle classes.

-- 
Jerome Baum

tel +49-1578-8434336
email jer...@jeromebaum.com
-- 
PGP: A0E4 B2D4 94E6 20EE 85BA E45B 63E4 2BD8 C58C 753A
PGP: 2C23 EBFF DF1A 840D 2351 F5F5 F25B A03F 2152 36DA
_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to