長文>< もっと見る
契約プログラミングを使えばほぼ同じことができるし、2月31日とか閏年とかまで静的に検査させるためには契約プログラミングじゃないと無理だけど、契約プログラミングの静的検査ってめちゃくちゃ処理遅いし(部分範囲型が使えるDelphiの静的型検査&コンパイルはそんじょそこらのインタプリタの起動時間より速い)、例えば月を表すために1~12だけ受け入れたい時に列挙型使うのも微妙だしそれが1~31日とかだと悪夢><
思考の /dev/null