Macr055で4クイーン
カレンダーは面倒そうな割にマクロ内で完結しなくてあまり面白くなさそうだったので、その次の http://parametron.blogspot.jp/2015/04/4.html 4クイーンから。
{m55_define|1+|`{1|2|3|4|5|6|7|8|9|10| {m55_define|1|$$$1}}'}{m55_dnl} {m55_define|1-|`{-1|0|1|2|3|4|5|6|7|8| {m55_define|-1|$$$1}}'}{m55_dnl} {m55_define|-|`{$2| {m55_define|$2|`{-|{1-|$1}|{1-|$2}}'} {m55_define|0|$1}}'}{m55_dnl} {m55_define|lt|`{$1| {m55_define|$1|`{p|$1|$2| {m55_define|p|`{lt|{1-|$1}|$2}'}}'} {m55_define|-1|t} {m55_define|$2|f}}'}{m55_dnl} {m55_define|or|`{$1| {m55_define|$1|t} {m55_define|f|$2}}'}{m55_dnl} {m55_define|?|`{{lt|$1|$2}| {m55_define|t|`{{-|$2|$1}| {m55_define|{-|$2|$1}|f} {m55_define|$3|t}}'} {m55_define|f|`{{-|$1|$2}| {m55_define|{-|$1|$2}|f} {m55_define|$3|t}}'}}'}{m55_dnl} {m55_define|q4|$1 $2 $3 $4 }{m55_dnl} {m55_define|q3|`{z|0|$1|$2|$3|$4}'}{m55_dnl} {m55_define|z|`{$1| {m55_define|$1|`{{or|{?|$2|$1|0}|{or|{?|$2|$1|3}|{or|{?|$3|$1|0}|{or|{?|$3|$1|2}|{or|{?|$4|$1|0}|{?|$4|$1|1}}}}}}| {m55_define|f|`{q4|$2|$3|$4|$1|$5}{z|{1+|$1}|$2|$3|$4|$5}'} {m55_define|t|`{z|{1+|$1}|$2|$3|$4|$5}'}}'} {m55_define|$5|}}'}{m55_dnl} {m55_define|q2|`{y|0|$1|$2|$3}'}{m55_dnl} {m55_define|y|`{$1| {m55_define|$1|`{{or|{?|$2|$1|0}|{or|{?|$2|$1|2}|{or|{?|$3|$1|0}|{?|$3|$1|1}}}}| {m55_define|f|`{q3|$2|$3|$1|$4}{y|{1+|$1}|$2|$3|$4}'} {m55_define|t|`{y|{1+|$1}|$2|$3|$4}'}}'} {m55_define|$4|}}'}{m55_dnl} {m55_define|q1|`{x|0|$1|$2}'}{m55_dnl} {m55_define|x|`{$1| {m55_define|$1|`{{or|{?|$2|$1|0}|{?|$2|$1|1}}| {m55_define|f|`{q2|$2|$1|$3}{x|{1+|$1}|$2|$3}'} {m55_define|t|`{x|{1+|$1}|$2|$3}'}}'} {m55_define|$3|}}'}{m55_dnl} {m55_define|q0|`{w|0|$1}'}{m55_dnl} {m55_define|w|`{$1| {m55_define|$1|`{q1|$1|$2}{w|{1+|$1}|$2}'} {m55_define|$2|}}'}{m55_dnl} {q0|4}{m55_dnl}
例によってローカルな再帰ができないため、そのへんの書き方が違っている。