@@@ 1205776420.txt @@@
2008-03-18 :
- hgrepos を hgwebdir.cgi に切り替えた。
- hg clone していた人がいたら、しなおした方がよいと思います。
- [[rss.lisp:http://raido.sakura.ne.jp/southly/hgrepos/common-lisp/file/d65727662fa7/ni/rss.lisp]]
- [[read.lisp:http://raido.sakura.ne.jp/southly/hgrepos/common-lisp/file/d65727662fa7/ni/read.lisp]]
- HEAD にリンクをはる方法があればなぁと思いつつ。
- ファイルごとに文字コードを指定できたらなぁ。
- hgwebdir.cgi で設定してしまえば repository を増やすのに躊躇する必要がないし、いっぱい作っておいた。
2008-03-18 (Tue) 02:54:30
@@@ 1205757421.txt @@@
memo : apacheの設定メモ
userdirを使えるようにするために毎回調べているのでメモ。
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/userdir.conf .
ln -s ../mods-available/userdir.load .
cgiやら.httacessやらを許可するためにuserdir.confの方を書き換える。
面倒なので両方Allで。
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride All
Options All
</Directory>
</IfModule>
参考: http://x68000.q-e-d.net/~68user/webcgi/server-config.html
2008-03-18 (Tue) 02:39:59
@@@ 1205757421.txt @@@
memo : apacheの設定メモ
userdirを使えるようにするために毎回調べているのでメモ。
cd /etc/apache2/mods-enabled/
ln -s ../mods-available/userdir.conf .
ln -s ../mods-available/userdir.load .
cgiやら.httacessやらを許可するためにuserdir.confの方を書き換える。
面倒なので両方Allで。
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
AllowOverride All
Options All
</Directory>
</IfModule>
参考: http://x68000.q-e-d.net/~68user/webcgi/server-config.html
2008-03-17 (Mon) 21:37:20
@@@ 1205171903.txt @@@
Common Lisp : xmls & s-xml と日本語
xmls で日本語を出力するには、write-escaped を修正する。
例えば以下のような感じ。
(in-package :xmls)
(defun write-escaped (string stream)
"Writes string to stream with all character entities escaped."
(coerce string 'simple-base-string)
(when (eq stream t) (setf stream *standard-output*))
(loop for char across string
for esc = (if (< (char-code char) (length *char-escapes*))
(svref *char-escapes* (char-code char))
(string char))
do (write-sequence esc stream)))
ただ、xmls で出力した xml はあんまり見慣れない書き方になるみたいなので使わない気がする。
s-xml の場合は print-string-xml に手を入れればいいと思う。
が、どの範囲をそのまま出力するようにするかが悩ましい。
UTF-8で出力することが前提ならなら ASCII 以上は全部でも良いとは思うけど、文字コード・文字集合辺りはよく分からないなあ。
2008-03-11 (Tue) 03:03:30
@@@ 1204979643.txt @@@
2008-03-08 :
- rss を提供するようにした。
- http://raido.sakura.ne.jp/southly/lisp/ni/ni.rss
- あとで分かりやすいところにリンクを作る。
- 日本語の扱いがひどくて、ちょっと悲しい。
- xmls と s-xml はあとで何とかする。(何とかできたら)
- emacs like にする xyzzy 用キーバインドサンプルも良いけど、xyzzy 風にする emacs の設定の方が欲しいなぁ。
2008-03-09 (Sun) 19:29:14
@@@ 1204723757.txt @@@
2008-03-05 :
- MIYAMUKO さんの xyscope.l にインスパイアされて XTAGS 用を書きました。
- [[builtin-tags.l:http://raido.sakura.ne.jp/southly/hgrepos/?file/16b34b00541c/builtin-tags/site-lisp/builtin-tags.l]] の辺りにあります。
- パッケージは変えるかも。
- builtin.l までジャンプしてこないといけないので、それができる XTAGS を作っておく必要があります。
- 自分は ed::lisp-maketags をいじっているのですが、Nakano さんの [[ext-lisp-maketags:http://raido.sakura.ne.jp/southly/lisp/ni/view.lisp?2a4fa7b654c10684f699e0651924cb80]] を使えば OK だと思います。
- builtin-function-p → si:*builtin-function-p
2008-03-05 (Wed) 22:29:51
@@@ 1204644339.txt @@@
2008-03-05 :
- マクロ展開が起こるのは評価時 or コンパイル時という理解でした。
- xyzzy の動作はまさしくこれですよね。
- sbcl はインタプリタがないので定義と同時にコンパイルされて、納得の結果。
- ecl はよく知らない。
- clisp の結果は自分にとってはちょっと不思議。
- 気になったので CLtL2 を確認してみたら、8章の最初のページにありました。
> More generally, an implementation of Common Lisp has great latitude in deciding exactly when to expand macro calls within a program.
のパラグラフで、例えば defun での関数定義時にマクロを展開することもOKと書いてありました。
2008-03-05 (Wed) 00:27:35
@@@ 1204573471.txt @@@
2008-03-04 :
- エスケープシーケンスの件は readtable をいじるのが妥当かな。
- cl-interpol の reader を引数をあわせて使うのが一番楽そう。やってみるか。
- cldoc の使い方がなんとなく分かった。けど、使い方を調べた関数 etc のメモを取りたいんだよな〜
- cldoc の出力する html も気に入らないので手を入れたい……
- メモを取るという目的からすると一度 DocBook 形式で出力する [[Albert:http://albert.sourceforge.net/]] の方が向いていそうだけど、DocBook よく分からんし。
- MediaWiki ですか。実績も十分ですし、日本語の情報も多そうですし、良いんじゃないでしょうか。
- 個人的には [[MoinMoin:http://moinmo.in/]] はどうなかな〜とか思ってました。
- Colorize code に Lisp syntax があったら絶対こっちを推しましたけど、無いみたいです。残念。
- loop マクロといえば http://homepage1.nifty.com/bmonkey/lisp/index.html にもあったりしますけど、どんな感じなんでしょう。loop マクロは基本的に使わないので、試してないのですが。
2008-03-04 (Tue) 04:48:15
@@@ 1204378154.txt @@@
memo : asdf を使う
さくらのサーバにインストールした clisp で asdf を使うための一連の作業をメモ。
clisp には asdf が付属していないのでソースを取得する。
$ cd $HOME/local/lisp
$ wget "http://cclan.cvs.sourceforge.net/*checkout*/cclan/asdf/asdf.lisp"
$ clisp -c asdf.lisp
ついでにコンパイルしておく。
ここからしばらく clisp での作業。
$HOME/local/lisp/ を lisp ファイル置き場にすることにしたので、ここをロードパスに追加する。
[1]> (push (merge-pathnames "local/lisp/" (user-homedir-pathname)) custom:*load-paths*)
(#P"/home/raido/local/lisp/" #P"./" "~/lisp/**/")
asdf.lisp をロード。
[2]> (load '#:asdf)
;; Loading file /home/raido/local/lisp/asdf.fas ...
;; Loaded file /home/raido/local/lisp/asdf.fas
T
asdf:*central-registry* にパスを追加。$HOME/local/lisp/systems/ にした。
ここに *.asd ファイルへのシンボリックリンクを置くようにする。
[3]> (push (merge-pathnames "local/lisp/systems/" (user-homedir-pathname)) asdf:*central-registry*)
(#P"/home/raido/local/lisp/systems/" *DEFAULT-PATHNAME-DEFAULTS*)
この状態で[[GUESS:http://lispuser.net/commonlisp/japanese.html#guess]]を使えるようにする。
ソースをダウンロードして、展開、シンボリックリンクを張る。
$ cd $HOME/local/src/lisp
$ wget http://lispuser.net/files/guess.tar.gz
$ tar xf guess.tar.gz
$ cd ../../lisp/systems/
$ ln -s $HOME/local/src/lisp/guess_0.1.0/guess.asd .
clisp でロード。初回はコンパイルした上でロードしてくれる。
[4]> (asdf:oos 'asdf:load-op :guess)
; loading system definition from /home/raido/local/lisp/systems/guess.asd into #<PACKAGE ASDF0>
;; Loading file /home/raido/local/lisp/systems/guess.asd ...
; registering #<SYSTEM :GUESS #x20538B31> as GUESS
;; Loaded file /home/raido/local/lisp/systems/guess.asd
;; Compiling file /home/raido/local/src/lisp/guess_0.1.0/guess.lisp ...
;; Wrote file /home/raido/local/src/lisp/guess_0.1.0/guess.fas
;; Loading file /home/raido/local/src/lisp/guess_0.1.0/guess.fas ...
;; Loaded file /home/raido/local/src/lisp/guess_0.1.0/guess.fas
0 errors, 0 warnings
NIL
clisp での作業は初期化ファイルにでも書いておく。clispの場合は $HOME/.clisprc 辺り。
(push (merge-pathnames "local/lisp/" (user-homedir-pathname)) custom:*load-paths*)
(load '#:asdf)
(push (merge-pathnames "local/lisp/systems/" (user-homedir-pathname)) asdf:*central-registry*)
(asdf:oos 'asdf:load-op :guess)
ロードするものが多くなって起動に時間がかかるようになったら、メモリイメージを保存して起動時にこっちを読み込むようにする。
2008-03-02 (Sun) 00:05:34
@@@ 1204378154.txt @@@
memo : asdf を使う
さくらのサーバにインストールした clisp で asdf を使うための一連の作業をメモ。
clisp には asdf が付属していないのでソースを取得する。
$ cd $HOME/local/lisp
$ wget "http://cclan.cvs.sourceforge.net/*checkout*/cclan/asdf/asdf.lisp"
$ clisp -c asdf.lisp
ついでにコンパイルしておく。
ここからしばらく clisp での作業。
$HOME/local/lisp/ を lisp ファイル置き場にすることにしたので、ここをロードパスに追加する。
[1]> (push (merge-pathnames "local/lisp/" (user-homedir-pathname)) custom:*load-paths*)
(#P"/home/raido/local/lisp/" #P"./" "~/lisp/**/")
asdf.lisp をロード。
[2]> (load '#:asdf)
;; Loading file /home/raido/local/lisp/asdf.fas ...
;; Loaded file /home/raido/local/lisp/asdf.fas
T
asdf:*central-registry* にパスを追加。$HOME/local/lisp/systems/ にした。
ここに *.asd ファイルへのシンボリックリンクを置くようにする。
[3]> (push (merge-pathnames "local/lisp/systems/" (user-homedir-pathname)) asdf:*central-registry*)
(#P"/home/raido/local/lisp/systems/" *DEFAULT-PATHNAME-DEFAULTS*)
この状態で[[GUESS:http://lispuser.net/commonlisp/japanese.html#guess]]を使えるようにする。
ソースをダウンロードして、展開、シンボリックリンクを張る。
$ cd $HOME/local/src/lisp
$ wget http://lispuser.net/files/guess.tar.gz
$ tar xf guess.tar.gz
$ cd ../../lisp/systems/
$ ln -s $HOME/local/src/lisp/guess_0.1.0/guess.asd .
clisp でロード。初回はコンパイルした上でロードしてくれる。
[4]> (asdf:oos 'asdf:load-op :guess)
; loading system definition from /home/raido/local/lisp/systems/guess.asd into #<PACKAGE ASDF0>
;; Loading file /home/raido/local/lisp/systems/guess.asd ...
; registering #<SYSTEM :GUESS #x20538B31> as GUESS
;; Loaded file /home/raido/local/lisp/systems/guess.asd
;; Compiling file /home/raido/local/src/lisp/guess_0.1.0/guess.lisp ...
;; Wrote file /home/raido/local/src/lisp/guess_0.1.0/guess.fas
;; Loading file /home/raido/local/src/lisp/guess_0.1.0/guess.fas ...
;; Loaded file /home/raido/local/src/lisp/guess_0.1.0/guess.fas
0 errors, 0 warnings
NIL
clisp での作業は初期化ファイルにでも書いておく。
(push (merge-pathnames "local/lisp/" (user-homedir-pathname)) custom:*load-paths*)
(load '#:asdf)
(push (merge-pathnames "local/lisp/systems/" (user-homedir-pathname)) asdf:*central-registry*)
(asdf:oos 'asdf:load-op :guess)
ロードするものが多くなって起動に時間がかかるようになったら、メモリイメージを保存して起動時にこっちを読み込むようにする。
2008-03-01 (Sat) 22:33:17
@@@ 1204110673.txt @@@
2008-02-27 :
- html で文字コード指定
- 実際に文字化けには遭遇してないのですが、http://ottt.x0.com/xyzzy/diary/2008-02-12-1811.html について言うならば「UTF-8N」という指定が不正です。正しくは「UTF-8」です。
- 参考までに[[Wikipedia 情報:http://ja.wikipedia.org/wiki/UTF-8]]
> なお、BOMありの方をUTF-8、なしの方をUTF-8Nと呼ぶこともあるが、このような呼び分けは日本以外ではほとんど知られておらず、また公的規格などによる裏付けもない。
2008-02-27 (Wed) 20:14:32
@@@ 1204045477.txt @@@
2008-02-26 : Xyzzy Wiki の件
- spam フィルタが原因じゃないと分かっただけでもありがたいです。
- 何がエラーの原因なのかは不思議ですが。
- pukiwwiki の開発は動いていないってのは知りませんでした。
- spam フィルタが実装されると期待していたんですが。
- spam に強い wiki ってどれなんでしょうね。
2008-02-27 (Wed) 14:19:22
@@@ 1204045477.txt @@@
2008-02-26
- spam フィルタが原因じゃないと分かっただけでもありがたいです。
- 何がエラーの原因なのかは不思議ですが。
- pukiwwiki の開発は動いていないってのは知りませんでした。
- spam フィルタが実装されると期待していたんですが。
- spam に強い wiki ってどれなんでしょうね。
2008-02-27 (Wed) 02:07:06
@@@ 1203952854.txt @@@
2008-02-25 :
- Mercurial はなかなかよい感じかも。
-- http://raido.sakura.ne.jp/southly/hgrepos/
-- svn と干渉しないで使えるのが気楽だ。
-- 認証はもう少し調べてからやることに。
--- ID と password をどう共有するかも考えないといけないし。
- package の件
-- 基本的には現状ままで OK な気がしています。
-- ただし、package を作るのを推奨というくらいでしょうか。
-- package を作るときのノウハウを文章化しないといけないだろうなと思います。
- trace マクロ
-- Common Lisp いじっていると xyzzy でも欲しくなった。
-- kia さんのとこにもあるのだけど encapsulate が関数なのが気になってマクロを書いてみることに。
-- 思ってたより何とかなっている感じ。
-- TODO : 引数の &optional etc の扱いを何とかする。
- Xyzzy Wiki
-- 最近使いにくいッス。
-- これを気をつければ spam フィルタに引っかからない、というのを教えていただきたいッス。
- (xyzzy :hack :-) - fixdap
-- いい感じ。
-- 他の参加者も発言してくれるともっといいのになぁ〜
- はてなダイアリーキーワードを編集できる人にお願い
-- [[xyzzy:http://d.hatena.ne.jp/keyword/xyzzy]] の「Emacs Lisp ではなく Common Lisp を実装」→「Emacs Lisp ではなく Common Lisp をベースにした独自の Lisp 方言を実装」に変更。
-- [[CommonLisp:http://d.hatena.ne.jp/keyword/Common%20Lisp]] のフリーの処理系から xyzzy を外す。
-- よく知らない人が xyzzy を Common Lisp 処理系として使うのは危ういので修正してもらえないかなと思います。
- いまさら気付いたので反応。> [[matsuokaさんとこ:http://antares.sci.fukuoka-u.ac.jp/wiliki/wiliki.cgi?Junma%3a%3aDay%3a%3a20071208#H-vgx5mx]]
-- はい。私です。
-- ちなみに ctags.l はあの時話題になっていたので調べてみただけで、使っていないんですよね (^^;
-- 普段は XTAGS を使ってます。
----
はてなダイアリーキーワードは直しました。
2008-02-27 (Wed) 02:06:39
@@@ 1203952854.txt @@@
2008-02-25 :
- Mercurial はなかなかよい感じかも。
-- http://raido.sakura.ne.jp/southly/hgrepos/
-- svn と干渉しないで使えるのが気楽だ。
-- 認証はもう少し調べてからやることに。
--- ID と password をどう共有するかも考えないといけないし。
- package の件
-- 基本的には現状ままで OK な気がしています。
-- ただし、package を作るのを推奨というくらいでしょうか。
-- package を作るときのノウハウを文章化しないといけないだろうなと思います。
- trace マクロ
-- Common Lisp いじっていると xyzzy でも欲しくなった。
-- kia さんのとこにもあるのだけど encapsulate が関数なのが気になってマクロを書いてみることに。
-- 思ってたより何とかなっている感じ。
-- TODO : 引数の &optional etc の扱いを何とかする。
- Xyzzy Wiki
-- 最近使いにくいッス。
-- これを気をつければ spam フィルタに引っかからない、というのを教えていただきたいッス。
- (xyzzy :hack :-) - fixdap
-- いい感じ。
-- 他の参加者も発言してくれるともっといいのになぁ〜
- はてなダイアリーキーワードを編集できる人にお願い
-- [[xyzzy:http://d.hatena.ne.jp/keyword/xyzzy]] の「Emacs Lisp ではなく Common Lisp を実装」→「Emacs Lisp ではなく Common Lisp をベースにした独自の Lisp 方言を実装」に変更。
-- [[CommonLisp:http://d.hatena.ne.jp/keyword/Common%20Lisp]] のフリーの処理系から xyzzy を外す。
-- よく知らない人が xyzzy を Common Lisp 処理系として使うのは危ういので修正してもらえないかなと思います。
- いまさら気付いたので反応。> [[matsuokaさんとこ:http://antares.sci.fukuoka-u.ac.jp/wiliki/wiliki.cgi?Junma%3a%3aDay%3a%3a20071208#H-vgx5mx]]
-- はい。私です。
-- ちなみに ctags.l はあの時話題になっていたので調べてみただけで、使っていないんですよね (^^;
-- 普段は XTAGS を使ってます。
2008-02-26 (Tue) 23:45:13