What the documentation advocates is that you should not call one rule from another, instead, each rule should produce an outcome, and the outcome itself should trigger the next rule in chain. This way rules do not concern with what happens next, and instead they deal with facts (aha!). And if - instead of writing rules for facts - you focus on writing an ordinary flow of procedural logic, you do not really need the added complexity of a rules engine.
The difference is subtle, but not more subtle than rules like "don't put your business logic in view" or "don't put your database access code in your business logic".
http://stackoverflow.com/a/7247643/2066936
Out of the box:
Notice how client-side validation is still working nicely. We did not need to enable client-side validation manually in the template as before, this is because ASP.NET MVC 3 already has it enabled by default. We did also hide the "Back" button on first step using javascript. We cannot submit the form until all information is correct. Even if a user bypasses javascript validation (which can be easily done), the form will be re-displayed again.
http://afana.me/post/create-wizard-in-aspnet-mvc-3.aspx
The Maven approach reduces the JAR-file bloat that consumed most version-control
repositories. But using Maven encourages you to adopt its "convention over
configuration" approach to building software, which can limit your flexibility
in customizing your build scripts.
http://www.ibm.com/developerworks/java/library/j-ap05068/
Unlike traditional systems, under Mach a process, or "task", can consist of a number of threads. While this is common in modern systems, Mach was the first system to define tasks and threads in this way. ... The existence of ports and the use of IPC is perhaps the most fundamental difference between Mach and traditional kernels.
http://en.wikipedia.org/wiki/Mach_(kernel)