まあタイトルの通りなんですが、とりあえずこれまでの自分の言語作成遍歴についても触れておきます。
- 大学入学前:四則演算パーザ&評価器
- 大学1年:正規表現パーザ&評価器
- 大学2年:オブジェクト指向言語Onion(Javaコードへのトランスレータ)
- 大学3年:Onion(Javaバイトコード生成)
- 大学4年:Onion正式公開
- 大学院修士2年:純粋関数型言語IMO
- 大学院博士後期1年~2年:Scalaにハマる
- 大学院博士後期3年:
- 以降、Scala布教活動にいそしむ
- 2015:Higer Order PEG(HOPEG)
まあ、こんな感じです(他にも色々作ったtoy言語があるのですが略)、自分が作った中で一番規模が大きいのがOnion(だいたいJava 1.4くらいまでの仕様を一通り持っていて、バイトコードを生成できる)、ついでYappという感じです。ただ、いずれもProof of Concept的な色彩が強いものであり、実用まで持っていけてないあたりが自分の飽きっぽさを示しているなあという感じです。
ただ、プログラミング言語作成をライフワーク(?)としてる自分としては、そろそろ実用に使えるプログラミング言語を作らねばということで重い腰を上げることにしました。
新言語の名前はKlassicで、オブジェクト指向&関数型言語(ただし、両者のハイブリッドではなく統合したものとう意味)でかつ、メタプログラミングの機能が強力、構文にこだわる、くらいしか決めていませんが、今後がんがん開発するつもりです。
スターがあれば開発の励みにもなるので、もしよろしければお願いします(ぺこり)
何故ClassicでなくKlassicかというと、ぐぐらびりてぃを考慮してのことです。ちなみに、Matzさんが昔卒論で作った言語の名前はClassicだったそうな…。
@kmizu いやあ、昔、卒論で作った言語(Classic)と名前がかぶっているんですが、別に知名度があるわけでもなし、私の口出しすることでもないなあ、と。
— Yukihiro Matsumoto (@yukihiro_matz) 2015, 12月 26