Haskell, OCaml版を無事に実装し終えて、今後のことについて迷っている。 今考えられる個人プロジェクトは、大まかには2つである。 1. lisp 処理系 2. サーバー まず、lisp 処理系について掘り下げてみる。 こちらについては、多言語実装と高速化、多機能化の3つを挙げることができる。 多言語実装では、いかに挙げる言語での実装を目標としている。 * lisp, scheme * sml * elixir * rust * c * c++ まだまだ挙げようと思えば挙げられるが、有益な経験を得られると思えるものみに絞った。 多言語実装を通して、その言語に慣れ親しむのが主な目的である。 このプロジェクトに取り組む前は、動的手続き型言語(Ruby, JavaScript)でのみ 実装できただけであったため、その後に続くGo, Haskell, OCamlは得るものが多かった。 しかし、静的型づけ、関数型と歩を進めたあとでは、そのあとに続く言語での 得られるものは少ないのではないかという不安がある。 ただし、lisp自体の習熟は、なぜlispの生産性が高いと言えるのかをよく理解できていないため、 プロジェクトを進める価値はまだ十分にあると言えそうである。 以上の不安から、浅い部分で経験を積むのではなく、深いところに踏み込んでいくことを考えている。 その候補としては、処理系の高速化や多機能化が挙げられる。 高速化に関しては、ゼロ知識のため他のプロジェクトを読むのが主な作業になるだろう。 そこで得られた知見を自分のプロジェクトなり他人のプロジェクトなりにコミットして、 ベンチマークの成績を挙げられれば、わかりやすい励みになると思われる。 多機能化については、Peter Norvig実装から脱却して、ひとつのOSSプロジェクトへと成長させる ことを意味している。ここでは、what's new に答えられるかどうかがプロジェクトの真価を 問われる部分かと思われるが、まずは既存の仕様を理解し忠実に実装するという点を目標としたい。 自分のレベルから考えて、それだけでも十分高度な目標であろう。 次に、サーバーについて考えてみる。 こちらについては、フレームワークの構築とサーバーそのものの実