Source of Nothingness

* Menu

About | Profile | まとめ | オリジナル | xyzzy | あんてな | | buzz

* Scrapbook : おびなたのはてな日記 - C++テンプレートでLisp

http://d.hatena.ne.jp/earth2001y/20061001/p2

* xyzzy lisp : format ~^

(format nil "~D~^~D~^~D~^~D" 1)
"1"
(format nil "~D~^~D~^~D~^~D" 1 2 3)
"123"
(format nil "~{~A~^ + ~}" '(1 2 3 4))
"1 + 2 + 3 + 4"
(format nil "~:{~A~^X^~D+~}" '((a 3) (b 2) (c 1) (d 0)))
"aX^3+bX^2+cX^1+dX^0+"
(format nil "~:{~A~:^X^~D+~}" '((a 3) (b 2) (c 1) (d 0)))
"aX^3+bX^2+cX^1+d"
(format nil "~A~V^~A~V^~A~V^~A" 'a 2 'b 1 'c 0 'd)
"abc"
(format nil "~A~V,V^~A~V,V^~A~V,V^~A" 'a 1 2 'b 2 2 'c 2 3 'd)
"ab"
(format nil "~A~V,V,V^~A~V,V,V^~A~V,V,V^~A" 'a 1 1 2 'b 2 1 2 'c 2 3 4 'd)
"a"

* xyzzy lisp : format ~&

(format nil "~&") ; 何もしない
""
(format nil "xyzzy~&") ; 改行を出力
"xyzzy
"
(format nil "~2&") ; 何もしない + 1つ改行を出力
"
"
(format nil "xyzzy~3&") ; 改行を出力 + 2つ改行を出力
"xyzzy


"

* xyzzy lisp : format ~{

(format nil "~{~A ~}" '(a b c d))
"a b c d "
(format nil "~:{~A ~}" '((a) (b) (c) (d)))
"a b c d "
(format nil "~@{~A ~}" 'a 'b 'c 'd)
"a b c d "
(format nil "~:@{~A ~}" '(a) '(b) '(c) '(d))
"a b c d "
(format nil "~2{~A ~}" '(a b c d))
"a b "
(format nil "~{~A ~}" nil)
""
(format nil "~{~A ~:}" '(a))    ; nilが引数だとエラー
"a "
; "~^"と一緒に使うのが便利
(format nil "~{~A~^,  ~}~%" '(one two three four)) ; 最後に", "はいらない
"one,  two,  three,  four
"

* emacsの文字表現

http://snmsts.orz.hm/~sana/wiki/index.php?%C6%FC%B5%AD%A4%C3%A4%DD%A4%AF%2F2006-10-03#k3406f46
すげー同感ッス。
bs.elの移植のとき
「? 」となっているところを見て何故に「?」が単独で?
としばらく考え込みました。

reader周りはまだ勉強していないのでスルーで。

* 「入門 Common Lisp - 関数型4つの特徴とλ計算」の著者のページを見た

http://nlp.dse.ibaraki.ac.jp/~shinnou/books.html
無茶苦茶な制約があったもんだ。
「Lisp の入門書ではない」「xyzzy と関連させる」「xyzzyマクロを作る本ではない」の3つは同時には成立しないでしょう。
「Lisp の入門書ではない」「xyzzy と関連させる」だったらxyzzyマクロの話しかないし、
xyzzy と関連させる」「xyzzyマクロを作る本ではない」だったらLispの基礎の基礎をやるしかないし、
「Lisp の入門書ではない」「xyzzyマクロを作る本ではない」だったらxyzzyが絡む余地は無いよ。
なんで無理やりxyzzyを絡めようとしたのか謎。

Common Lispは関数型言語としては泥臭すぎて関数型言語の勉強には向かないと思います。
Lisp系ならSchemeを選ぶべきかと。
末尾再帰の最適化の保証が無いから再帰よりもループを使うでしょうし、
値を返さない関数もあるし、
setfが便利すぎて代入文も普通に使うんじゃないでしょうか。

* 2006-10-02

* Scrapbook : xyzzy本体移植のための調査 - FSWikiLite

http://hpcgi2.nifty.com/1to100pen/wiki/wiki.cgi?p=xyzzy%CB%DC%C2%CE%B0%DC%BF%A2%A4%CE%A4%BF%A4%E1%A4%CE%C4%B4%BA%BA

* 「入門Common Lisp〜関数型4つの特徴とλ計算」感想

http://book.mycom.co.jp/book/4-8399-2081-8/4-8399-2081-8.shtml

* xyzzy lisp : format ~(

(format nil "~(~A fUga~)" "hoGe")
"hoge fuga"
(format nil "~:(~A fUga~)" "hoGe")
"Hoge Fuga"
(format nil "~@(~A fUga~)" "hoGe")
"Hoge fuga"
(format nil "~:@(~A fUga~)" "hoGe")
"HOGE FUGA"

* xyzzy lisp : format ~?

(format nil "~D, ~?" 10 "[~A ~D]" '(hoge 30))
"10, [hoge 30]"
(format nil "~D, ~@?" 10 "[~A ~D]" 'hoge 30)
"10, [hoge 30]"

* 2006-09-25

* Scrapbook : 孤島からビンを流す会

http://b.pira.jp/

参加してみる。

* xyzzy lisp : Buffer selection

http://www.geekware.de/software/emacs/#bs
移植をしてみました。
http://raido.sakura.ne.jp/southly/xyzzy/site-lisp/bs-20060920.lzh
元の動作は知らないのですが、八割程度は動いているような気がします。

どんなものかは
http://www.bookshelf.jp/soft/meadow_28.html#SEC352

気が向いたときにでもNetInstaller用のパッケージにします。

* Scrapbook : MYCOM BOOKS - 入門Common Lisp〜関数型4つの特徴とλ計算

http://book.mycom.co.jp/book/4-8399-2081-8/4-8399-2081-8.shtml

2006-09-28発売予定