Il y a de nombreuses années, alors qu'il travaillait sur un problème serré d'E/S graphique, Tom Duff a déroulé une boucle et créé son Dispositif de Duff comme suit :
dsend(to, from, count)
char *to, *from;
int count;
{
int n = (count + 7) / 8;
switch (count % 8) {
case 0: do { *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
} while (--n > 0);
}
}
(Notez que cela utilise les paramètres de fonction de l'ancien style - ce n'est pas une erreur).
Ce codage est directement issu de la réflexion en assembleur et du codage en C, et dépend de l'utilisation de la déclaration de cas du C. Ce type de créativité dans l'entrelacement des structures de contrôle peut-il fonctionner dans d'autres langages ?