デジタル人材の育成
筧 捷彦PM(早稲田大学 理工学術院基幹理工学部 情報理工学科 教授)
チーフクリエータ
坂口 和彦(木更津工業高等専門学校 情報工学科)
コクリエータ
なし
私は、組み込み用プログラミング言語「Yadorigi」を作ることを提案する。ここでいう組み込み用プログラミング言語とは、携帯端末などの組み込みシステム向けのプログラミング言語ではなく、Lua、Xtal のように、別の言語で書かれたホストプログラム上で動かすことを前提としたプログラミング言語のことを指す。 Yadorigi で書かれたプログラムを含むソフトウェアは、ホストプログラムから Yadorigi VM (Yadorigi のバイトコードを実際に動かすための VM)を利用して Yadorigi のバイトコードを実行し、また、Yadogiri のバイトコードから Yadorigi 用に用意されたホストプログラムの機能(ライブラリ)を呼び出すことによって、ソフトウェア全体が目的の処理を行うようになっている。 この言語は関数型言語であり、静的型付け、型推論機構、バイトコード仮想マシン駆動といった特徴を持つ。 未踏ユースの期間内では、Haskell による Yadorigi コンパイラの実装と、JIT コンパイラによる最適化などのない単純な Yadorigi VM (バイトコードインタプリタ)を実装することを目標とする。将来的には JIT コンパイラの実装も行う予定。
提案は、関数型言語Haskellをベースにして新たな組み込み用言語Ydorigiを開発する、というもの。“組み込み用”といっているのは、SQLのように他のプログラミング言語の中に埋め込んでその機能を果たす形の言語形態を意図したものである。HaskellやOcamlなどの関数型言語であればいとも簡明に記述することができる事柄がふんだんにころがっているのに、それが行えないのは何ともはがゆい。かといって、すべてを関数型で記述せよ、といったのでは使ってくれる人はそうそうはいない。だから、“組み込み用”に仕上げて、便利に使える局面でだけ簡便に関数型の記述を使ってもらえるようにするのだという。
すでに勉強も進んでいるし、部分的な実装も行っている。その力をこの期間中に大いに伸ばして、多くのユーザが得られるところまでそのアイディアを洗練し磨き上げ、仕上げてくれることを期待している。