Perl で JS の arguments.callee 的なことしようと思ってハマった - IT戦記 の件を Forth で。 Forth なら recurse がある。 :noname dup if dup . 1 - recurse else . then ; ok 10 swap ok .s <2> 10 47312420583688 ok execute 10 9 8 7 6 5 4 3 2 1 0 ok ところが、名前付きの関数で普通に再帰しようとすると : foo ." hello" foo ; *the terminal*:1: Undefined word : foo ." hello" foo ; ^^^ とエラーになる。 さらに、既に定義してあれば古い定義が呼ばれる。 : bar ." World!" ; ok : bar cr ." Hello " bar ; re