デジタル人材の育成

未踏IT人材発掘・育成事業:2017年度採択プロジェクト概要(諏訪PJ)

1.担当プロジェクトマネージャー

  • 竹迫 良範(株式会社リクルートマーケティングパートナーズ 専門役員)

2.採択者氏名

  • 諏訪 敬之(東京大学 大学院 情報理工学系研究科 コンピュータ科学専攻)

3.採択金額

  • 2,304,000円

4.テーマ名

  • 型による静的検証能力の高い組版システムの開発

5.関連Webサイト

  • https://github.com/gfngfn/Macrodown

6.申請テーマ概要

マークアップされたコードから文書を生成する組版処理システムは文字社会・印刷文化の根幹をなすソフトウェアであるが、既存の組版処理システムは一般のユーザが高度なマクロ定義や組版上の工夫を凝らしにくい言語設計になっているほか、ユーザの入力のうち問題のある箇所をエラーとして報告する能力が十分とはいえない。そこで本クリエータは既存の様々なマークアップ言語をより柔軟で安全な1つの形式へとラップするためにMacrodownというメタなマークアップ言語を同時に実装した。このMacrodownではマクロ定義にOCaml風のいわゆる函数型言語を用いることができ、現在でも適切なライブラリを与えれば、MacrodownコードからLaTeXコードやHTMLコードへと変換して文書が生成できる。しかしながらバックエンドとしてLaTeXなど既存の組版エンジンを用いていると、変換後のコードを組版処理している最中に見つかったエラーが実際にユーザの書いたMacrodownコードのどの箇所に対応しているのか非常にわかりづらく、その修正が大きな手間となる。
そこで本プロジェクトでは、フロントエンドとしてMacrodownを拡張したマークアップ言語を採用して保守性の高い意味マークアップを可能にし、また主に型システムの知見を用いてバックエンド部分まで加味した静的検査能力を有する組版処理システムを開発する。静的検査は具体的には、実際の組版処理を実行する前にユーザの入力のうち明らかに問題のある箇所を型エラーなどの形で報告することを指し、これにより執筆・編集をより円滑にできるようにする。また、クラウド上での文書執筆支援環境の提供や、ユーザの体裁指定に基づいた書籍生成サービスなど、周辺Webサービスの充実を目指すことで、商業的価値の創出を図る。

7.採択理由

TeX/LaTeXを使い始めた時に誰もが一度は嵌る問題がある記述を、諏訪氏自身が新しく設計したML系言語に近い記法であるMacrodownで書けるようにして、型による静的検証を強化した統合的な組版システムを実現するストイックかつ野心的な提案である。利用者のニーズや記法の使い勝手を検討するには、開発者自身が自分のサービスを日常で使うドッグフーディングが重要なため、自分で開発した組版システムを使って1冊の本を出版することを一つのマイルストーンとして設定しながらプロジェクトを進めて欲しい。BuckleScriptコンパイラを利用することでOCamlのコードをJavaScriptバックエンドに変換することができるので、うまくいけばOcamlで書かれた組版システムの処理をWebブラウザ上でも実行することができる可能性がある。Node.jsで動くようになれば、ElectronベースのテキストエディタAtomにも統合してローカルな組版環境を構築・配布することも容易になる。GitLabのCI/CD Pipelinesを利用してクラウド環境で組版を実行するなど、現段階でも技術的に連携可能なクラウド環境も揃っているので、今後の普及のためにも今回開発した組版システムを誰でも気軽に利用できるような提供形態が実現できることを期待している。