kiyokaのブログアーカイブ

Archive of old blog posts

そろそろオレ言語でもやっておくか(6)

Cyan作った人

Cyanを設計した高校生、5カ月で5つの言語を習得 読者の皆さんは、「Cyan」(サイアン)という言語をご存じないかもしれない。 Cyanは、Lispのマクロを持ち、Python風のインデントによってブロックを表す プログラミング言語。2008年の春、林拓人という1人の高校生によって設計さ れた。

このあいだのShibuya.Lispテクニカルトーク#2のビデオも貼っておく。

Cyanの現状と、これから すごすぎる。 ものすごいフットワークの軽さ。見習うべき。 こんな風に軽やかに新しい言語を設計できたらいいんだけど…

自分も作ろうと思い立つ

と感心しているいちに、自分もやってみようと思いついた。もっと気楽に考えればいい。 目標は次のShibuya.Lispのライトニング・トークでしゃべるくらいの気軽さで行こう。

結局いろいろ考えた結果、RubyでLispインタプリタを作ることにした。 Lispの糖衣構文としてRubyっぽいものをいちから実装するよりは、RubyでLispインタプリタを実装して融合させた方が、自分のイメージに近いものができることに気がついた。 要するに前からぼんやり考えていた自分の欲しいものがやっと発見できたということ。 自分のほしいものが分からないなんて、人間って面白い。 (だから、人のソフトウェアやサービスを発見して、あっそうそう、こんなものが欲しかったんだ。なんで思いつかなかったんだ… という風なことがよく起きるんだと思う) 実は、自分が本当はRubyライクなインタプリタを作りたかったわけではなく、Ruby的なAlgol系言語とS式を混在してプログラミングができたらどんな感じだろうというのが知りたいだけだったのだ。 今は簡単な式がevalできるレベル。 関数定義ができる位のレベルになったら、紹介しようと思う。 img 近くのカフェで集中してプログラミングしてるところ