「n と n+1 が等しくなるような n は何」問題を Forth で(反則)

話の大元はこちら 2007-11-25 - プログラミング日記
まずお手元に Gforth をご用意下さい。
初めにスタックから 2 個取り出して、等しければ "equal" と、等しくなければ "not equal" と出力するワード hoge を定義します。

: hoge
= if
  ." equal"
else
  ." not equal"
then
cr ;

= はスタックから 2 個取り出して等しければ -1、異なっていれば 0 をスタックに置きます。条件分岐は if true節 else false節 then と書きます。0 は false、0 以外は true です。." 文字列" は文字列を出力します。cr は改行、; はワード定義の終了です。
次に 0.1 をスタックに置くワード n を定義します。変数や定数を定義するやり方は別にありますが、今回はこれを使います。

: n 0.1 ;

それでは次の行を実行してみてください。1+ はスタックの一番上にある値を 1 増やすワードです。

n n 1+ hoge

equal と表示されるはずです。
種明かし id:yshl:20071201:1196499094