Originally Posted by
David Franklin
I disagree.
The typical way this goes is something like:
95% of the time, you're following the rule, and everything works swimmingly.
5% of the time, you want to break the rule. The compromise here is that you need a 'bigger' lead to indicate "yes, I really do mean to break this rule". But if you want to intentionally break a rule, you usually want to do so in an obvious fashion, so the 'bigger' lead is usually no real hardship.
Whether you gain efficiency depends on whether you want to break the rule rarely (in which case you probably do), or frequently (in which case you may not). Of course, this is why it makes sense to choose a sensible set of rules. How difficult it is to lead a "rule break" is also a factor, of course.
(As I posted elsewhere, there are a lot of parallels with data compression algorithms, where it's not uncommon to see solutions that explicitly do "99% of the time, we follow rule A, and 1% of the time, we use a special signal to say 'actually, rule A doesn't work here, we'll use rule B'").
Bookmarks