本文へスキップ
totonoe.tech

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/

← エソラング図鑑トップへ

続けて整える

運営サイト

私たちが運営するサイト