Functional Programming(関数プログラミング)で Hello World の件
groovy を日常的に使っている関係でどのマシンのもJavaVMがあるので、 FPといえば、clojure でしょ、ということなのだが、 clojure の情報は少ない。
まずは関数プログラミングの基本を学びたいと思ったのだが 名古屋でもっとも品揃えのよさそなジュンク堂にいったものの なかなか気に入った関数プログラミングの本が見つからなかった。
ただ、Emacs Lisp 解説本だけは結構自分にあったレベルだったので 買いたかったのだが、emacs lisp は emacs を拡張するものなので、 (えっと、Indesign にとっての jsx みたいなもの) emacs の中でしか使えないっぽい。
文字列処理が多いので、その手のライブラリが充実してそな elisp 使いたい とっかかりにいいと思ったけど、これじゃあなと。
しかしネットで調べてみたらそれは可能なようです... しかも単に emacs --script foo.el でOKと。
Elisp Hello World
hello.el を作成
(print "Hello Elisp!")
実行
$ emacs --script hello.el
※ MacOSX 10.6 のターミナルで実行、emacs もはじめからインストールされていたものを使用。
ちなみに、VPSサーバレンタルでインストールした emacs には --script が無効だった。
感想
Lispで文字列処理したい、テキストの変換したい、 というときに使えそうな気がしてきた。 少なくとも学習のためだけに elisp をやるってのだと やる気がでないけど、実践にも使えるとなれば。
ただ、自分以外の人も使う可能性があるスクリプトで、 emacs 必須ですっていうのがあり得ない話かも。
まあ、elisp でemacs に依存しないような処理のライブラリ関数は、 common lisp で提供されているのかもしれないですが。
参考サイト http://cx4a.org/pub/emacs-lisp-for-scripting.ja.html スクリプト言語としてのEmacs Lisp