コラッツ予想がとけたらいいな2

自分の考察を書いていきます。

Forth・Paraphrase

Paraphrase をやってみた その4(相互再帰)

Paraphrase の ver.0.94 がリリースされたという事なので、入れてみた。 起動の依存関係で手間取った。環境は Linux(Ubuntu) だ。 http://archive.ubuntu.com/ubuntu/pool/universe/b/boost1.71/libboost-timer1.71.0_1.71.0-6ubuntu6_amd64.deb を入れるこ…

Paraphrase をやってみた その3(アッカーマン関数)

竹内関数(tarai)でやってたけど、速すぎてあれだったので、 アッカーマン関数にした。 "ack" : // ( m n -- result ) ( m n ) local-with `m , 0? if `n , 1 + else `n , 0? if `m , 1 - 1 ack else `m , 1 - `m , `n , 1 - ack ack then then ; "par" : […

Paraphrase をやってみた その2(ズンドコ)

サンプルにはズンドコキヨシのプログラムがあったので、 それを末尾再帰でやってみた。 > "zdkRec.pp" load ok. > zdk Doko Zun Doko Doko Doko Doko Zun Zun Zun Doko Doko Zun Doko Zun Doko Zun Doko Zun Doko Doko Zun Zun Doko Doko Doko Zun Zun Doko …

Paraphrase をやってみた

Paraphrase はマルチコアに対応した Forth 系言語とのことだ。 並列処理が簡単に書けるらしい。 起動の依存関係で手間取った。環境は Linux(Ubuntu) だ。 http://archive.ubuntu.com/ubuntu/pool/main/b/boost1.65.1/libboost-program-options1.65.1_1.65.1+…

Forth をやってみた その3(オブジェクト指向)

クラスは、2段構えで作るようだ。 s" oop.f" included /snap/gforth/15/share/gforth/0.7.9_20201105/objects.fs:416:30: warning: redefined catch /share/gforth/0.7.9_20201105/kernel/basics.fs:240:7: warning: original location oop.f:12:15: warning…

Forth をやってみた その2(変数)

variable x ok 3 ok 1 x ok 2 ! ok ( これで、x に 3 が代入される ) ok x ok 1 ( スタックに入れた段階では、 x がスタックに入っている ) @ ok 1 ( @ をかますと、x の皮がむけて、3 が出現する ) スタック <1> 3 5 ok 1 x ok 2 + ok 1 ( 5 x + をやると、…

Forth をやってみた

Forth は、スタック指向のプログラミング言語だ。 ここの記事が参考になった。 Forthを使うのじゃ | TECHSCORE BLOG Gforth Manual Forth でコラッツ :~/me/Forth$ cd collatz :~/me/Forth/collatz$ gforth Gforth 0.7.9_20201105 s" collatz.f" included ok…