|
|
 |
|
|
|
|
this rule must stand as a separate rule. For the example given above, the fourth Thursday could fall as early as 22 November or as late as 28 November. In the first case, the day five days later would be 27 November, the fourth Tuesday in November. In the second case, the day five days later would be 3 December, the first Tuesday in December. |
|
|
|
 |
|
|
|
|
2.3.) The Mth DOW before or after the Nth DOW of a month. An example would be Kinderzeche in Dinkelsbuhl (Germany), defined as the Saturday before the third Monday in July. Here, M is 1 and N is 3. |
|
|
|
 |
|
|
|
|
2.4.) The Nth DOW before or after some other base date. There are two cases, depending upon whether the base date is movable or immovable: |
|
|
|
 |
|
|
|
|
2.4.1.) Immovable base date. Sinterklass appears in Amsterdam, for example, on the Saturday preceding 6 December. The Procession of the Holy Blood in Bruges is defined as occurring on the Monday after 2 May. |
|
|
|
 |
|
|
|
|
This rule seems simple enough, but there is a subtle trap for the unwary, which should concern anyone who is considering the actual implementation of this rule in terms of computer procedures. |
|
|
|
 |
|
|
|
|
Consider, appropriately enough, the celebration called Fool's Monday in Ronse (Renaix), Belgium, defined as starting on the first Sunday after Epiphany. This seems simple enough, until you realize that Epiphany itself can be defined in terms of another feast (Christmas), leading us down a potential path of regressive definition. |
|
|
|
 |
|
|
|
|
The problem, from the standpoint of writing code, is to produce a procedure that is accurate in terms of definition, but precludes the possibility of deadlock, or deadly embrace. |
|
|
|
 |
|
|
|
|
Such a situation can arise in these cases whenever a routine day_x () calls a routine day_y (), which, in its turn, calls day_x (). This situation could arise in several different ways. Because both routines would have to pre-exist, it cannot arise by adding one routine to an existing set. |
|
|
|
 |
|
|
|
|
It could arise, however, if a clever programmer were to notice, while maintaining routine day_x (), that a block of code was inefficient, and could be replaced by a simple call to routine day_y (). Another possible, but less likely, scenario would update the routine day_x () to a deadly form as a result of overlapping naming conventions. This would seem to be an unlikely coincidence, but anyone who has worked in a programming shop for more than a month knows that stranger things have not only happened but have been demanded by management as a priority. |
|
|
|
 |
|
|
|
|
2.4.2.) The base date is a movable feast. In England, for example, the second Tuesday after Easter is the day when the Tutti-men (or tything men) appear in Hungerford, Berkshire. In this situation, there are two cases: |
|
|
|
|
|