研究内容
誰もが楽しく誤りなくプログラミングできる次世代のプログラミング環境の実現を目指し、プログラミング言語や計算機システムの研究を主軸に研究活動を展開しています。また、それらの研究成果を装備した次世代関数型言語SML# を中心に、様々なオープンソースソフトウェアの開発を推進しています。
プログラミングの基礎理論の研究
プログラミング言語はソフトウェアの生産性・信頼性・保守性に直接の影響を与える道具ですから、その設計と実装には綿密な検討と緻密な検証が必要不可欠です。当研究室では、ラムダ計算、数理論理学、型理論などの数学的モデルを用いて、プログラムが表現する計算の数学的意味を探究するとともに、その意味を簡潔かつ直截に記述するための方法を構築しています。数理科学的なアプローチによって、より使いやすく安全な新しいプログラミング言語の実現を目指しています。
次世代関数型言語SML#の研究開発
関数型言語では計算機に命令したりメモリを上書きしたりせず、数学的な関数(式による入出力の対応づけ)の合成によって計算を記述します。関数型言語は計算機科学の黎明期から今日に至るまで継続して研究開発されており、近年その良い性質が注目を集めつつありますが、いまだ産業的な実用言語とはなり得ていません。当研究室では、真に実用的な関数型言語の実現を目指して、関数型言語の基礎理論と実装技術の両面を革新する研究に取り組んでいます。また、その成果を装備した関数型言語SML#の開発を推進しています。
言語を中核とするソフトウェア開発
プログラミング言語やコンパイラの開発で得られた知見を活用した、プログラミング言語理論の新たなソフトウェア工学的応用を開拓しています。新しいプログラミング言語を使いこなすためのプログラミング環境を整備するツール群の開発はもとより、従来はプログラミング活動とはみなされていなかった領域を一種の言語活動として分析することを通じて、これまでにない自由度と堅牢さを兼ね備えたソフトウェアを開発しています。
計算と言語に関する萌芽的研究活動
計算機システムは物理的制約から離れた巨大な人工構造物であり、その構成の探究することは人類の言語を用いた知的活動の本質を見極め限界まで高めることと同義と言えます。この観点から、我々の持つ様々な興味を知能情報システムの中に位置付け、ソフトウェアシステム・プログラミング・計算・言語の本質に迫る試みを行っています。自主的・無節操・楽観的をモットーに、学生とともに多様なテーマの研究を展開しています。