No.13 ・ 記号系
Grass
= w・W・v の3文字で書く「草」の言語
- 読みにくさ
- ●●●●○
- 書きにくさ
- ●●●●●
- 誕生年
- 2006年
- 作者
- UENO Katsuhiro
- 生まれた国
- 日本
- 学べること
- ラムダ計算(関数の定義と適用)だけで、計算を組み立てられるということ
どんな言語か
w・W・vの3文字だけでプログラムを書きます。ほかの文字は無視されるので、間にコメントや絵を入れられます。全角の w W v も同じ文字として扱われます。
作者のUENO Katsuhiro氏が、プログラミング言語を形式的に定義する方法の紹介として、2006年に「情報科学若手の会」で提案しました。型のないラムダ計算と、SECD機械という実行の仕組みにもとづいて定義されています。
プログラムは「関数定義」と「関数適用」の並びです。w で始まる並びが関数定義(最初の w の数が引数の数)、W で始まる並びが関数適用です。適用は「W の数」番目の値を「w の数」番目の値に適用する、という意味になります。
計算に使う値はスタックに積み上げるだけで、取り出しません。最初のスタックには、出力用の Out、次の文字を返す Succ、文字 w、入力用の In の4つが積まれています。
名前の「草」は、笑いを w と書き、重ねた www が草の生えた様子に見える日本のネットの言い方にちなみます。作者の公式ページには「ちょっと草植えときますね型言語」とあります。
コード例(全文)
w を1つ出力する
wWWwwww
※ 作者の公式ページのサンプルです。関数を1つ定義し、最初から積まれている出力用の関数 Out を、文字 w に適用して w を1つ出力します。
実際に書いて動かすには Grass の実行環境 へどうぞ。
ひとこと
使う文字は w・W・v の3つだけです。日本のネットで笑いを表す「w」が連なる様子を草に見立てた名前で、中身は関数の定義と適用だけでできたラムダ計算の言語です。
もっとくわしく(外部サイト): http://www.blue.sky.or.jp/grass/