サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
aka-cs-blog.blogspot.com
というわけで、Prolog on Emacsの完成を目指して、Common LispとEmacs Lispのスコープ関係の違いを確認してみようと思う。 スコープ自体は、Common Lispがレキシカルとダイナミックの両用で、Emacs Lispはダイナミックのみというだけでさして難しくはないのだが、では、言語の中のいろいろな機構の振舞いはそれによってどういう違いがあるかというと、また別の話である。 まず、関数のあたりから調べてみよう。 * 関数のあたり ** symbolへの格納 - まず、symbolまわりがどうなっているかをなんとな く。 - Emacs LispはLisp2であり、インターフェイスも Common Lisp風。 *** Common Lisp の場合 CL-USER> (setq hoge 1) 1 CL-USER> (defun hoge (x) (+ 2 x))
debian emacs policyを理解できてきたところで、他のパッケージ管理機構についてざっと調べてみた。結構いろいろな情報がある。 何かひとつをちゃんと知るということは、やっぱり大変なことだなぁと再認識した。 * Emacsのパッケージング事情 ** ヘッダ等の慣習 *** Conventional Headers for Emacs Libraries - http://www.gnu.org/software/emacs/manual/html_node/elisp/Library-Headers.html#Library-Headers - GNU Emacs Lisp Referenceの一部。 - Elispファイルを書くときの慣習。 - ライブラリのメタデータ(著者等)をコメントとして 記述するための慣習。 - ライブラリの中身をコメントで構造化するための慣習。 - 例
ソースを探ったり、いろいろビルドしたりして、結構わかった。 完全とまではいきませんが、現状では十分。 load-pathに限らず、Emacsの起動プロセスをいろいろ調べた。結果として、Emacsの仕組みについて多少詳しくなったのも嬉しい。 * Ubuntu/GNU Emacs22の起動プロセスにおけるload-pathの構築と利用 ** src/epaths.in - epaths.hの素。 - この中のPATH_LOADSEARCHがload-pathの素。 - GNU配布状態: #define PATH_LOADSEARCH "/usr/local/lib/emacs/lisp" ** src/epaths.h - makeによって、epaths.inを素に生成される。 - GNU配布状態: [./configure, makeの結果] #define PATH_LOADSEARCH
このページを最初にブックマークしてみませんか?
『計算機とその周辺: What I Talk About When I Talk About Computers』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く