言語ゲーム

とあるエンジニアが嘘ばかり書く日記

Twitter: @propella

Cat 言語


Cat は、Joy から派生して出来た言語です。型推論の機能を持っているのが特徴です。活発に開発が続けられているようですので試してみました。

インストール

Cat 言語は C# で書かれており、Windows 向けに msi インストーラが用意されています。http://cat-language.googlecode.com/files/cat_0_13_0.msi を使うと、C:\Program Files\Cat にソースコードと実行ファイル、ライブラリがインストールされます。(.NET 再頒布可能パッケージが必要ですhttp://www.microsoft.com/japan/msdn/netframework/downloads/)

遊び方

Cat.exe でインタプリタが起動します。遊び方は Forth や Joy と同じで、リテラルを入力するとスタックに積まれ、関数を入力すると実行されます。親切な事に、スタックの内容が常に画面にフィードバックされるのでドット . を入力する必要が無いです。

Cat Interpreter
version 0.13.0 May 12th, 2007
by Christopher Diggins
this software is released under the MIT license
the source code is public domain and available at
http://www.cat-language.com

Type in #help for help and #exit to exit.

>> 3 4 +
stack: 7
>> 6
stack: 7 6
>> *
stack: 42
>> #exit

タートルグラフィックス

標準でタートルグラフィックスで遊べます。使えるコマンドはc:\Program Files\Cat\graphics.cat を参考にするとよいです。

>> ow // 画面表示
stack: _empty_
>> 100 fd // 100 進め
stack: _empty_
>> 90 tr // 90 回れ
stack: _empty_
>> 90 100
stack: 90 100
>> fd tr // スタックのぶん進んで回れ
stack: _empty_
>> [100 fd 144 tr] 5 repeat // [100 進め 144 回れ] を4 繰り返せ

定義

定義は Joy に比べて構造的な文法になっています。また、便利な事に引数も使えます。

>> define triangle {[100 fd 120 tr] 3 repeat}
>> define star (n)  {[n fd 144 tr] 5 repeat}
>> triangle
>> 200 star

参考