@@@ 1238907160.txt @@@
2009-04-05 :
さくらサーバーのOSがバージョンアップしたので、ソフトをアップデートした。
* lv
lv はコマンドを打ち慣れているので入れることに。
wget "http://www.ff.iij4u.or.jp/~nrt/freeware/lv451.tar.gz"
tar xf lv451.tar.gz
cd lv451
cd build/
../src/configure --prefix=$HOME/local
make
make install
* Subversion
1.6.0 へバージョンアップ。
svn+ssh:// でアクセスするのに失敗したので、$HOME/bin にシンボリックリンクを作って回避。
とりあえず動いているみたい。
wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.0.tar.gz
tar xf subversion-1.6.0.tar.gz
tar xf subversion-deps-1.6.0.tar.gz
cd subversion-1.6.0
ls
./configure --prefix=$HOME/local --with-ssl --without-berkeley-db
gmake
gmake install
cd
cd bin
ln -s ../local/bin/svn .
ln -s ../local/bin/svnserve .
ln -s ../local/bin/svnadmin .
ln -s ../local/bin/svnversion .
ln -s ../local/bin/svnlook .
ln -s ../local/bin/svnsync .
ln -s ../local/bin/svndumpfilter .
参考:
- http://kayakaya.net/d/20090323.html#p01
- http://d.hatena.ne.jp/spdog/20080202/p1
merge-tracking がようやく使えるようになった。ということで repository を dump & load して作り直しておいた。(もしかしたら不要だったかも)
マージが楽になると良いな。
* git
ついでなのでgitも入れておくことにした。
wget http://kernel.org/pub/software/scm/git/git-1.6.2.2.tar.gz
tar xf git-1.6.2.2.tar.gz
cd git-1.6.2.2
./configure --prefix=$HOME/local --without-tcltk
gmake
gmake install
参考:
- http://sho.tdiary.net/20090324.html
2009-04-06 (Mon) 11:12:16
@@@ 1238907160.txt @@@
2009-04-05 :
さくらサーバーのOSがバージョンアップしたので、ソフトをアップデートした。
* lv
lv はコマンドを打ちなれているので入れることに。
wget "http://www.ff.iij4u.or.jp/~nrt/freeware/lv451.tar.gz"
tar xf lv451.tar.gz
cd lv451
cd build/
../src/configure --prefix=$HOME/local
make
make install
* Subversion
1.6.0 へバージョンアップ。
svn+ssh:// でアクセスするのに失敗したので、$HOME/bin にシンボリックリンクを作って回避。
とりあえず動いているみたい。
wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.0.tar.gz
tar xf subversion-1.6.0.tar.gz
tar xf subversion-deps-1.6.0.tar.gz
cd subversion-1.6.0
ls
./configure --prefix=$HOME/local --with-ssl --without-berkeley-db
gmake
gmake install
cd
cd bin
ln -s ../local/bin/svn .
ln -s ../local/bin/svnserve .
ln -s ../local/bin/svnadmin .
ln -s ../local/bin/svnversion .
ln -s ../local/bin/svnlook .
ln -s ../local/bin/svnsync .
ln -s ../local/bin/svndumpfilter .
参考:
- http://kayakaya.net/d/20090323.html#p01
- http://d.hatena.ne.jp/spdog/20080202/p1
merge-tracking がようやく使えるようになった。ということで repository を dump & load して作り直しておいた。(もしかしたら不要だったかも)
マージが楽になると良いな。
* git
ついでなのでgitも入れておくことにした。
wget http://kernel.org/pub/software/scm/git/git-1.6.2.2.tar.gz
tar xf git-1.6.2.2.tar.gz
cd git-1.6.2.2
./configure --prefix=$HOME/local --without-tcltk
gmake
gmake install
参考:
- http://sho.tdiary.net/20090324.html
2009-04-05 (Sun) 15:21:49
@@@ 1238907160.txt @@@
2009-04-05 :
さくらサーバーのOSがバージョンアップしたので、ソフトをアップデートした。
* lv
lv はコマンドを打ちなれているので入れることに。
wget "http://www.ff.iij4u.or.jp/~nrt/freeware/lv451.tar.gz"
tar xf lv451.tar.gz
cd lv451
cd build/
../src/configure --prefix=$HOME/local
make
make install
* Subversion
1.6.0 へバージョンアップ。これでマージが楽になるかな。
svn+ssh:// でアクセスするのに失敗したので、$HOME/bin にシンボリックリンクを作って回避。
とりあえず動いているみたい。
wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.0.tar.gz
tar xf subversion-1.6.0.tar.gz
tar xf subversion-deps-1.6.0.tar.gz
cd subversion-1.6.0
ls
./configure --prefix=$HOME/local --with-ssl --without-berkeley-db
gmake
gmake install
cd
cd bin
ln -s ../local/bin/svn .
ln -s ../local/bin/svnserve .
ln -s ../local/bin/svnadmin .
ln -s ../local/bin/svnversion .
ln -s ../local/bin/svnlook .
ln -s ../local/bin/svnsync .
ln -s ../local/bin/svndumpfilter .
参考:
- http://kayakaya.net/d/20090323.html#p01
- http://d.hatena.ne.jp/spdog/20080202/p1
* git
ついでなのでgitも入れておくことにした。
wget http://kernel.org/pub/software/scm/git/git-1.6.2.2.tar.gz
tar xf git-1.6.2.2.tar.gz
cd git-1.6.2.2
./configure --prefix=$HOME/local --without-tcltk
gmake
gmake install
参考:
- http://sho.tdiary.net/20090324.html
2009-04-05 (Sun) 14:16:11
@@@ 1238907160.txt @@@
2009-04-05 :
さくらサーバーのOSがバージョンアップしたので、ソフトをアップデートした。
* lv
lv はコマンドを打ちなれているので入れることに。
wget "http://www.ff.iij4u.or.jp/~nrt/freeware/lv451.tar.gz"
tar xf lv451.tar.gz
cd lv451
cd build/
../src/configure --prefix=$HOME/local
make
make install
* Subversion
1.6.0 へバージョンアップ。これでマージが楽になるかな。
svn+ssh:// でアクセスするのに失敗したので、$HOME/bin にシンボリックリンクを作って回避。
とりあえず動いているみたい。
rm subversion-1.6.0.tar.bz2
rm subversion-deps-1.6.0.tar.bz2
wget http://subversion.tigris.org/downloads/subversion-1.6.0.tar.gz
wget http://subversion.tigris.org/downloads/subversion-deps-1.6.0.tar.gz
tar xf subversion-1.6.0.tar.gz
tar xf subversion-deps-1.6.0.tar.gz
cd subversion-1.6.0
ls
./configure --prefix=$HOME/local --with-ssl --without-berkeley-db
gmake
gmake install
cd
cd bin
ln -s ../local/bin/svn .
ln -s ../local/bin/svnserve .
ln -s ../local/bin/svnadmin .
ln -s ../local/bin/svnversion .
ln -s ../local/bin/svnlook .
ln -s ../local/bin/svnsync .
ln -s ../local/bin/svndumpfilter .
参考:
- http://kayakaya.net/d/20090323.html#p01
- http://d.hatena.ne.jp/spdog/20080202/p1
* git
ついでなのでgitも入れておくことにした。
wget http://kernel.org/pub/software/scm/git/git-1.6.2.2.tar.gz
tar xf git-1.6.2.2.tar.gz
cd git-1.6.2.2
./configure --prefix=$HOME/local --without-tcltk
gmake
gmake install
参考:
- http://sho.tdiary.net/20090324.html
2009-04-05 (Sun) 13:53:11
@@@ 1237620463.txt @@@
2009-03-21 :
print-objectを定義するとprincとprin1の両方に影響するんだなぁ
別々に定義することはできないんだろうか。
(defclass point ()
((x :initform (random 100))
(y :initform (random 100))))
(make-instance 'point)
;=> #<POINT {122403B1}>
(defmethod print-object ((object point) stream)
(print-unreadable-object (object stream :type t)
(format stream "(~D, ~D)" (slot-value object 'x) (slot-value object 'y))))
(make-instance 'point)
;=> #<POINT (88, 12)>
(format nil "~A" (make-instance 'point))
;=> "#<POINT (98, 53)>"
(format nil "~S" (make-instance 'point))
;=> "#<POINT (88, 53)>"
2009-03-22 (Sun) 00:49:22
@@@ 1235056973.txt @@@
2009-02-20 :
- やばいなぁ。emacsの設定にハマり始めた。
- 慣れたxyzzyの快適さに微妙に届かないのが気になるんだよなぁ。
2009-02-20 (Fri) 00:48:42
@@@ 1226934821.txt @@@
2008-11-17 :
- CLOCC の f2cl パッケージに BLAS と LAPACK があるのを見つけたので、試してみた。
- 結果: 動かなかった。
- sbcl の場合、FORTRANのソース内で変数名がTのところの、変数の型が違うとエラーが出る。
- でも、FORTRANのソースからトランスレートされたlispのソース内では「t$」になっていて、変数がTの所は見当たらず。
- clisp の場合、ちょっと手を入れてロードまで成功。
- テストを動かしてみると何故か zero division error。
- よく分からないので放置。
----
(in-package :cl-user)
;(setf custom:*parse-namestring-ansi* t)
(defvar *clocc-root* nil)
(setf *clocc-root* (namestring (merge-pathnames "local/share/common-lisp/source/clocc/" (user-homedir-pathname))))
(compile-file (merge-pathnames "clocc" *clocc-root*))
(load (merge-pathnames "clocc" *clocc-root*))
(compile-file (translate-logical-pathname "clocc:src;defsystem;defsystem"))
(load (translate-logical-pathname "clocc:src;defsystem;defsystem"))
;; * compile some systems
(dolist (l '("clocc:src;port;" "clocc:src;cllib;" "clocc:src;ext;queues;"
"clocc:src;port;configuration;" "clocc:src;port;environment;"
"clocc:src;ext;union-find;" "clocc:src;tools;metering;"
"clocc:src;f2cl;" "clocc:src;f2cl;packages;"))
(mk:add-registry-location (translate-logical-pathname l)))
(mk:oos "port" :compile)
;(mk:oos "metering" :compile)
;(mk:oos "cllib" :compile)
(mk:oos "f2cl" :compile)
(mk:oos "blas" :compile)
(mk:oos "lapack" :compile)
(load (merge-pathnames "local/share/common-lisp/source/clocc/src/f2cl/packages/lapack/lapack-tests.lisp" (user-homedir-pathname)))
----
Index: packages/blas.system
===================================================================
RCS file: /cvsroot/clocc/clocc/src/f2cl/packages/blas.system,v
retrieving revision 1.8
diff -r1.8 blas.system
61c61,64
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
66c69,72
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
86c92,95
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
158c167,170
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
206c218,221
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
2008-11-18 (Tue) 00:16:52
@@@ 1226934821.txt @@@
2008-11-17 :
- CLOCC の f2cl パッケージに BLAS と LAPACK があるのを見つけたので、試してみた。
- 結果: 動かなかった。
- sbcl の場合、FORTRANのソース内で変数名がTのところの、変数の型が違うとエラーが出る。
- でも、FORTRANのソースからトランスレートされたlispのソース内では「t$」になっていて、変数がTの所は見当たらず。
- clisp の場合、ちょっと手を入れてロードまで成功。
- テストを動かしてみると何故か zero division error。
- よく分からないので放置。
----
(in-package :cl-user)
;(setf custom:*parse-namestring-ansi* t)
(defvar *clocc-root* nil)
(setf *clocc-root* (namestring (merge-pathnames "local/share/common-lisp/source/clocc/" (user-homedir-pathname))))
(compile-file (merge-pathnames "clocc" *clocc-root*))
(load (merge-pathnames "clocc" *clocc-root*))
(compile-file (translate-logical-pathname "clocc:src;defsystem;defsystem"))
(load (translate-logical-pathname "clocc:src;defsystem;defsystem"))
;; * compile some systems
(dolist (l '("clocc:src;port;" "clocc:src;cllib;" "clocc:src;ext;queues;"
"clocc:src;port;configuration;" "clocc:src;port;environment;"
"clocc:src;ext;union-find;" "clocc:src;tools;metering;"
"clocc:src;f2cl;" "clocc:src;f2cl;packages;"))
(mk:add-registry-location (translate-logical-pathname l)))
(mk:oos "port" :compile)
;(mk:oos "metering" :compile)
;(mk:oos "cllib" :compile)
(mk:oos "f2cl" :compile)
(mk:oos "blas" :compile)
(mk:oos "lapack" :compile)
(load (merge-pathnames "local/share/common-lisp/source/clocc/src/f2cl/packages/lapack/lapack-tests.lisp" (user-homedir-pathname)))
----
Index: packages/blas.system
===================================================================
RCS file: /cvsroot/clocc/clocc/src/f2cl/packages/blas.system,v
retrieving revision 1.8
diff -r1.8 blas.system
61c61,64
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
66c69,72
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
86c92,95
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
158c167,170
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
206c218,221
< :source-pathname (pathname "blas:")
---
> :source-pathname
> #-clisp (pathname "blas:")
> #+clisp (merge-pathnames (make-pathname :directory '(:relative "blas"))
> (make-pathname :directory (pathname-directory *load-pathname*)))
2008-11-18 (Tue) 00:14:31
@@@ 1218973151.txt @@@
実践CLを読了
一番の収穫はCLOSについての理解が深まったこと。
xyzzyで使えないものだから、ちゃんと勉強したことが無くて:beforeとか:afterとかよく分かってなかったんだけど、やっと分かった。(とりあえず使ってみようと思うくらいには)
メソッド結合かぁ〜 よく考えたもんだなぁ〜
C++やJavaなんかのメソッドがクラスに属しているオブジェクト指向とは全くの別物だ。頭を切り替えて使わないといけない。
帰省中に付箋を付けながら読んでいたので、拾い上げておく。
- p.7 括弧にある「他の本では読者の課題として残してあるもの」というのは中規模のプログラムなのか、言語の説明なのか
- p.10 *5 CMU も略語なんだから「Carnegie Mellon University」とした方がいいような。本文に「カーネギーメロン大学」とあるから英語の方にはいらなかったんだろうけど。
- p.25 if, not 説明なしで登場。(これ以降も関数が説明なしで登場するのがあったな)
- p.26 *5 「これは都合がいいこと」の「これ」が指すものが分かりにくい。たぶんスラッシュを解釈する方。
- p.37 where は短くなってるか? 別関数に処理を追い出しただけのような。コードを見る。
- p.41 *6 浮動小数点の要求精度を確認する。浮動小数点と整数が同じ型になる場合があると読めなくもないとするのは意地が悪いか?
- p.45 special form の一覧を確認する。
- p.47 *7 言われてみればと納得。確かにマクロか関数かで悩んだ覚えが無いけど、無意識にこういう感じで判別していたんだな。
- p.57 &optionalと&keyの組み合わせは注意。
- p.69 *11 スレッドごとにダイナミック変数。
- p.71 「ローカル変数としてtが使えないのは、たまにイラっとくる」←あるある(笑)
- p.78 「構文」は「syntax」の訳じゃないのかな。確認する。
- p.81 ここで気づいたけど「Common Lisp」と言ったり「Lisp」と言ったりしてるな。英語は繰り返しを避けるからか。
- p.81 *5 深いなぁ
- p.91 マクロを書くステップ。
- p.98 マクロを書くときの注意点。
- p.121 バックスラッシュが足りない。正誤表にあったのはここか。
- p.127 「LENGTH、ELT、ELTに対する〜」←eltの連続が気になるなぁ。「そして」とか挟めばよかったかも。
- p.129 関数名は大文字じゃないのだろうか。関数名じゃないということか?確認する。
- p.137 こんな後ろにconsが初出。
- p.143 副作用の結果が規定されている関数もある。
- p.144 非破壊的→共有 破壊的→共有されていないことが前提。
- p.144 イディオム push+nreverse setf+delete
- p.145 mergeも破壊的。
- p.146 (caar (list 1 2 3)) はエラーになるよね。確認する。
- p.147 null は空リストのテスト。
- p.149 「幻想」が気になる。原文を確認。
- p.149 proper listの訳は「真リスト」か。個人的には「純リスト」とか「正リスト」とか「正規リスト」とかのイメージ。
- p.152 「塊を操作する」が気になる。原文を確認。
- p.152 集合論なんだから「和集合」とか「積集合」とかの用語を入れて欲しいなぁ。
- p.153 連想リストって出てきたっけ?
- p.155 plistはeqで比較。
- p.157 *4 分かりにくいけどsetfでsymbol-plistをそっくり置き換える話か。(setf (symbol-plist 'foo) nil)みたいな。
- p.166 文字列→パスネーム pathname、パスネーム→文字列 namestring
- p.170 ディレクトリを作る→ensure-directories-exist
- p.172 「配管」は気になる。原文を確認。
- p.218 パディングに全角文字を指定したらどうなる?
- p.251 「コンパイル時に情報を使って保存して〜」よく分からない表現。原文を確認。「コンパイル時に同じファイルに保存してある情報を使って」ってこと?
- p.253 ここでやっとintern
- p.268 「(CLer)黒帯のためのLOOP」のニュアンスなのか。なるほど。
- p.285 「この場合にはincrement-countの2番目のx引数として渡された〜」変なxが紛れ込んでる。
- p.308 マクロ内で名前を生成しない。
- p.311 「どの型をread-valueに渡xすか〜」変なxが紛れ込んでる。
- p.312 prognメソッド結合
- p.325 「ここでのミソは、それらの数値をxどうやって〜」変なxが紛れ込んでる。
- p.445 「処理系依存のライブラリを使う不利な点は唯一、〜」←「唯一」は前に持ってきて「処理系依存のライブラリを使う唯一の不利な点は、〜」とかの方が自然かも。
2008-08-24 (Sun) 18:47:49
@@@ 1218973151.txt @@@
実践CLを読了
一番の収穫はCLOSについての理解が深まったこと。
xyzzyで使えないものだから、ちゃんと勉強したことが無くて:beforeとか:afterとかよく分かってなかったんだけど、やっと分かった。(とりあえず使ってみようと思うくらいには)
メソッド結合かぁ〜 よく考えたもんだなぁ〜
C++やJavaなんかのメソッドがクラスに属しているオブジェクト指向とは全くの別物だ。頭を切り替えて使わないといけない。
帰省中に付箋を付けながら読んでいたので、拾い上げておく。
- p.7 括弧にある「他の本では読者の課題として残してあるもの」というのは中規模のプログラムなのか、言語の説明なのか
- p.10 *5 CMU も略語なんだから「Carnegie Mellon University」とした方がいいような。本文に「カーネギーメロン大学」とあるから英語の方にはいらなかったんだろうけど。
- p.25 if, not 説明なしで登場。これ以降も関数が説明なしで登場するのがあったな。
- p.26 *5 「これは都合がいいこと」の「これ」が指すものが分かりにくい。たぶんスラッシュを解釈する方。
- p.37 where は短くなってるか? 別関数に処理を追い出しただけのような。コードを見る。
- p.41 *6 浮動小数点の要求精度を確認する。浮動小数点と整数が同じ型になる場合があると読めなくもないとするのは意地が悪いか?
- p.45 special form の一覧を確認する。
- p.47 *7 言われてみればと納得。確かにマクロか関数かで悩んだ覚えが無いけど、無意識にこういう感じで判別していたんだな。
- p.57 &optionalと&keyの組み合わせは注意。
- p.69 *11 スレッドごとにダイナミック変数。
- p.71 「ローカル変数としてtが使えないのは、たまにイラっとくる」←あるある(笑)
- p.78 「構文」は「syntax」の訳じゃないのかな。確認する。
- p.81 ここで気づいたけど「Common Lisp」と言ったり「Lisp」と言ったりしてるな。英語は繰り返しを避けるからか。
- p.81 *5 深いなぁ
- p.91 マクロを書くステップ。
- p.98 マクロを書くときの注意点。
- p.121 バックスラッシュが足りない。正誤表にあったのはここか。
- p.127 「LENGTH、ELT、ELTに対する〜」←eltの連続が気になるなぁ。「そして」とか挟めばよかったかも。
- p.129 関数名は大文字じゃないのだろうか。関数名じゃないということか?確認する。
- p.137 こんな後ろにconsが初出。
- p.143 副作用の結果が規定されている関数もある。
- p.144 非破壊的→共有 破壊的→共有されていないことが前提。
- p.144 イディオム push+nreverse setf+delete
- p.145 mergeも破壊的。
- p.146 (caar (list 1 2 3)) はエラーになるよね。確認する。
- p.147 null は空リストのテスト。
- p.149 「幻想」が気になる。原文を確認。
- p.149 proper listの訳は「真リスト」か。個人的には「純リスト」とか「正リスト」とか「正規リスト」とかのイメージ。
- p.152 「塊を操作する」が気になる。原文を確認。
- p.152 集合論なんだから「和集合」とか「積集合」とかの用語を入れて欲しいなぁ。
- p.153 連想リストって出てきたっけ?
- p.155 plistはeqで比較。
- p.157 *4 分かりにくいけどsetfでsymbol-plistをそっくり置き換える話か。(setf (symbol-plist 'foo) nil)みたいな。
- p.166 文字列→パスネーム pathname、パスネーム→文字列 namestring
- p.170 ディレクトリを作る→ensure-directories-exist
- p.172 「配管」は気になる。原文を確認。
- p.218 パディングに全角文字を指定したらどうなる?
- p.251 「コンパイル時に情報を使って保存して〜」よく分からない表現。原文を確認。「コンパイル時に同じファイルに保存してある情報を使って」ってこと?
- p.253 ここでやっとintern
- p.268 「(CLer)黒帯のためのLOOP」のニュアンスなのか。なるほど。
- p.285 「この場合にはincrement-countの2番目のx引数として渡された〜」変なxが紛れ込んでる。
- p.308 マクロ内で名前を生成しない。
- p.311 「どの型をread-valueに渡xすか〜」変なxが紛れ込んでる。
- p.312 prognメソッド結合
- p.325 「ここでのミソは、それらの数値をxどうやって〜」変なxが紛れ込んでる。
- p.445 「処理系依存のライブラリを使う不利な点は唯一、〜」←「唯一」は前に持ってきて「処理系依存のライブラリを使う唯一の不利な点は、〜」とかの方が自然かも。
2008-08-17 (Sun) 20:45:21
@@@ 1218973151.txt @@@
実践CLを読了
一番の収穫はCLOSについての理解が深まったこと。
xyzzyで使えないものだから、ちゃんと勉強したことが無くて:beforeとか:afterとかよく分かってなかったんだけど、やっと分かった。(とりあえず使ってみようと思うくらいには)
メソッド結合かぁ〜 よく考えたもんだなぁ〜
C++やJavaなんかのメソッドがクラスに属しているオブジェクト指向とは全くの別物だ。頭を切り替えて使わないといけない。
帰省中に付箋を付けながら読んでいたので、拾い上げておく。
- p.7 括弧にある「他の本では読者の課題として残してあるもの」というのは中規模のプログラムなのか、言語の説明なのか
- p.10 *5 CMU も略語なんだから「Carnegie Mellon University」とした方がいいような。本文に「カーネギーメロン大学」とあるから英語の方にはいらなかったんだろうけど。
- p.25 if, not 説明なしで登場。これ以降も関数が説明なしで登場するのがあったな。
- p.26 *5 「これは都合がいいこと」の「これ」が指すものが分かりにくい。たぶんスラッシュを解釈する方。
- p.37 where は短くなってるか? 別関数に処理を追い出しただけのような。コードを見る。
- p.41 *6 浮動小数点の要求精度を確認する。浮動小数点と整数が同じ型になる場合があると読めなくもないとするのは意地が悪いか?
- p.45 special form の一覧を確認する。
- p.47 *7 言われてみればと納得。確かにマクロか関数かで悩んだ覚えが無いけど、無意識にこういう感じで判別していたんだな。
- p.57 &optionalと&keyの組み合わせは注意。
- p.69 *11 スレッドごとにダイナミック変数。
- p.71 「ローカル変数としてtが使えないのは、たまにイラっとくる」←あるある(笑)
- p.78 「構文」は「syntax」の訳じゃないのかな。確認する。
- p.81 ここで気づいたけど「Common Lisp」と言ったり「Lisp」と言ったりしてるな。英語は繰り返しを避けるからか。
- p.81 *5 深いなぁ
- p.91 マクロを書くステップ。
- p.98 マクロを書くときの注意点。
- p.121 バックスラッシュが足りない。正誤表にあったのはここか。
- p.127 「LENGTH、ELT、ELTに対する〜」←eltの連続が気になるなぁ。「そして」とか挟めばよかったかも。
- p.129 関数名は大文字じゃないのだろうか。関数名じゃないということか?確認する。
- p.137 こんな後ろにconsが初出。
- p.143 副作用の結果が規定されている関数もある。
- p.144 非破壊的→共有 破壊的→共有されていないことが前提。
- p.144 イディオム push+nreverse setf+delete
- p.145 mergeも破壊的。
- p.146 (caar (list 1 2 3)) はエラーになるよね。確認する。
- p.147 null は空リストのテスト。
- p.149 「幻想」が気になる。原文を確認。
- p.149 proper listの訳は「真リスト」か。個人的には「純リスト」とか「正リスト」とか「正規リスト」とかのイメージ。
- p.152 「塊を操作する」が気になる。原文を確認。
- p.152 集合論なんだから「和集合」とか「積集合」とかの用語を入れて欲しいなぁ。
- p.153 連想リストって出てきたっけ?
- p.155 plistはeqで比較。
- p.157 *4 分かりにくいけどsetfでsymbol-plistをそっくり置き換える話か。(setf (symbol-plist 'foo) nil)みたいな。
- p.166 文字列→パスネーム pathname、パスネーム→文字列 namestring
- p.170 ディレクトリを作る→ensure-directories-exist
- p.172 「配管」は気になる。原文を確認。
- p.218 パディングに全角文字を指定したらどうなる?
- p.251 「コンパイル時に情報を使って保存して〜」よく分からない表現。原文を確認。「コンパイル時に同じファイルに保存してある情報を使って」ってこと?
- p.253 ここでやっとintern
- p.268 「(CLer)黒帯のためのLOOP」のニュアンスなのか。なるほど。
- p.285 「この場合にはincrement-countの2番目のx引数として渡された〜」変なxが紛れ込んでる。
- p.308 マクロ内で名前を生成しない。
- p.311 「どの型をread-valueに渡xすか〜」変なxが紛れ込んでる。
- p.312 prognメソッド結合
- p.325 「ここでのミソは、それらの数値をxどうやって〜」変なxが紛れ込んでる。
2008-08-17 (Sun) 20:44:25
@@@ 1216317164.txt @@@
2008-07-18 :
- いろいろと TODO を消化。
- 自宅で Windows 機に触る機会が減ってるから、いろいろと滞ってるな。
2008-07-18 (Fri) 03:14:16
lisp BSD gpg ビルド cldoc c++ xyzzy make-process indent diff topic Scrapbook Prox ecl nat FreeBSD RandomNote bregex.dll den8view den8 basic ブックマーク kamail reftex unix Linux format TEXT packaged-xyzzy unless バイナリ Subversion wsh view w3m wget loop apache -Scrapbook 2005 shell xming gmark rein post bufbar oni pdic.l makefile uchardet 問題 proxy gcc outline free cgi off mode Buffer ChangeLog Wikipedia defun 正規表現 emacs gnu clisp gtags Wallpaper intern memo NANRI package netinstaller Proxomitron fun.sci USB math fortran
2008-06-30 (Mon) 16:06:46
@@@ 1210651270.txt @@@
xyzzy lisp : (setf nthcdr)
(defsetf nthcdr (n x) (y) `(progn (rplacd (nthcdr (1- ,n) ,x) ,y) ,y))
そういえば定義されていないな。こんなかな。
2008-05-13 (Tue) 13:19:54
@@@ 1210651270.txt @@@
xyzzy lisp : (setf nthcdr)
(defsetf nthcdr (n x) (y) `(progn (rplacd (nthcdr (1- ,n) ,x) ,y) ,y))
そういえば定義されていないな
2008-05-13 (Tue) 13:01:33