EmacsからJavaアプリケーションを呼び出す
Emacsは大抵のことは何でもできるけど、GUIに凝ろうとすると途端に行き詰まってしまう。
たとえば現代的なGUIツールキットなら必ず含んでいるような、コンボボックスとかツリービューとかは、等価な機能を提供できたとしても、GUIレベルで同じようなものを実現するのは難しい。特に使うのが自分ではなくて、他人に評価してもらう場合、知りたいのは機能の優劣なのに、インタフェースの影響が意外と大きくて苦労したりする。
前置きが長くなったが、要するにGUIはJavaで作ってEmacsからはそれを呼び出すだけにすると余計な苦労をしなくて済みそうだ、ということ(なんでJavaかというと、一番の理由はクロスプラットホームだから)。で、プロセス間通信はどうしようかと考えていて、以前「XMLは現代のS式だ」というようなことが書かれた記事(http://www.rubyist.net/~matz/20030508.html#p04)を見たことを思い出した。
以上の考えをまとめて図にするとこんな感じ。
Emacs -> S式 <=> XML <- Java
なんとなく、これは行けそうな気がしてきた。
調べてみると、LispでXMLを扱うライブラリは結構ある。(逆は稀少だろうなあ…)
- SXML
http://okmij.org/ftp/Scheme/xml.html#SXML-spec
- XML-poly
http://ko.meadowy.net/emacsxml/?XML-poly
- mapae