2008-05-01から1ヶ月間の記事一覧

世界と象徴

人の認識は統一されている。一つの「ワールド」がそこに在るように感じられる。しかし、漠然と世界を認識しているだけでは、何も発展性はない。ドラッグ*1を使って、あるいは悟りを開いて、世界の統一を見て、全てを理解したように感じても、そこに発展性は…

Lispの進化

全体的に見れば、 Lispの進化は、技術的な要求のまじめな評価によってではなく、組織間の競争、 一歩先んじること、そして技術的な賢さから生まれる喜びのような"ハッカー 文化"の特質によって先導されてきた。 http://www010.upp.so-net.ne.jp/okshirai/HOP…

0から始まるか1から始まるか。

ゼロでなく1ではダメなのでしょうか。 JavascriptやPHPの配列や関数などで 配列の最初の要素がary[0]に… - 人力検索はてな なぜそうなっているか‥それは実装上の都合であったり歴史的理由だったりする。 配列の先頭要素が「0番目」であることは気持ち悪いか…

偽春菜誕生8周年

日付は前後するものの、5/25は偽春菜の誕生日だって。2000/5/25から8周年。ずい分時が経ったものだ。

インタラクティブな引数指定。

日にちが空いてしまったので新しいエントリで。interactiveの使い方がようやく分かってきた。xyzzyでは、関数は普通に呼び出されるときと、コマンドとして呼び出されるときがある。interactiveは、関数がコマンドとして呼び出されたときに、どういう挙動をす…

インタラクティブな引数指定の履歴(未)。

(defun test (arg) (interactive "s文字列?: ") (insert arg)) などと書くと、引数をミニバッファで指定できる関数を作れる。上のは例なので、ほとんど意味はないけど。 まあ、これでも、ミニバッファの履歴をうまく使えれば、役に立たないでもない。という…

さすが泥臭い言語だぜー!

1 から 1000 までの数字をすべて英単語で書けば、全部で何文字になるか - 地獄の猫日記 引数で渡された2つの文字列を入れ替える関数。 - 象徴ヶ淵 こんな例は探せばいくらでもあるだろうけどf^_^;

久しぶりに変更した。

一行一行pタグになるのは癪に障るので、段落は繋げてしまうことにした。全て遡って直すのではcssの意味がないので、昨日までの記事の段落も擬似的に繋がるようにしてしまった。 CSS Dencitieのような良サイトを見つけてしまったので、他にも割と遊んでみた。

久々に連習。

ここ一週間で飛び飛びに3日くらい練習している。題はネタで、t-codeではなく小ノ目だけど。しばらくやっていなかった割りに、すぐに勘を取り戻せたようだ。まあ、大部分の配置は忘れてしまっててヘルプが必要だが。 なぜか、前の日記には打鍵速度が記録され…

引数で渡された2つの文字列を入れ替える関数。

引数で渡された2つの文字列(s1,s2)の中身を入れ替える関数を作りなさい。 http://d.hatena.ne.jp/tek_koc/20080518/1211095764 こう? (defun lesser-rotatef (s1 s2) "こんな関数を作るより、素直にrotatefを使えばいいのに" (rotatef s1 s2)) わーごめ…

理解とは何か

理解とは何か (コレクション認知科学 2)作者: 村上陽一郎,銀林浩,三宅なほみ,M・コール,佐伯胖出版社/メーカー: 東京大学出版会発売日: 2007/09メディア: 単行本購入: 1人 クリック: 23回この商品を含むブログ (9件) を見るシリーズものなので、初めから読ん…

比喩武装しちゃいなよ!

議論に比喩を使って良いか否か、はてな上でもずいぶん前まで遡れる問題のようだけれども。周期的かどうか知らないが、たまにこういう話題にノッてみたくなる。 比喩は輸出を禁止すべき兵器として認定しないとヤバい。 void GraphicWizardsLair( void ); // …

睡眠時間

自然に起きる時間を考えると、どうやら7時間半必要らしい。 現在1時就寝、7時起床の6時間睡眠だが、わりと足りてないように感じる。 23時半には眠れるように心掛けたい。

コード書き中(2)

(defmacro polyedit-set-toggle-key (toggle-key &rest args) (let* ((docp (stringp (car args))) (doc (if docp (car args) '((interactive)))) (ar (if docp (cdr args) args))) `(let ((func (gentemp "polyedit-toggle-mover"))) (si:*fset func (si:*s…

クロージャの動作と展望(?)

クロージャについての言及があったので、ちょっと見解を述べてみる。 On lispに書いてある通りに説明しようとしたら、上手く動かなかった*1ので、xyzzy上で確認できたことを書く。 私がクロージャといっているのは、主にレキシカルクロージャを指している。 …

コード書き中 (1)

まだ完成してないけど、考えがこんがらがっているのが良く解るコード。 (defmacro polyedit-set-toggle-key (toggle-key &rest args) (let* ((func (gensym)) (docp (stringp (car args))) (ar (if docp (cdr args) args)) (pre (if docp `(,(car args) (int…

循環リスト

xyzzy lispは広井 誠が詳しいのだけれど、循環リストは少し触れているだけだ。 もっと長い循環リストの作り方や、要素の挿入、削除の方法が書かれていない。 まあ、循環リストは不便なところがあるし、大抵は他の実装方法の方がわかりやすいので、必要ない気…

ディレクトリ下のファイル容量のディスクの空き容量を占める割合を出力する。

(defun du (path &optional recursivep) (labels ((fol (b p) (/ b (expt #1=1024 p))) (approx (b) (let ((tb (truncate (if (zerop b) 0 (log (* b 0.9) #1#)))) (pm "KMGTPEZY")) (format nil "~,1F~AB" (fol b tb) (if (zerop tb) nil (if (> tb (length…

クロージャを使ったコマンド

フレームとバッファとグローバルマーカを一元管理するモードを考えていて、ちょっと詰まってきた*1ので気分転換に作ってみた。 謎の機能クロージャ - himadatenodeの日記 でこれを何かに使った事とって殆どないけどと言われてるクロージャだけど、数値を記憶…

もう少し自由に歩く。

もっと自由にカーソルを移動したり、いくつかの場所をマークして同時に編集するモードを考えているのだけど、完成するまでは不便なので、もっと簡単に実装できるものを取り敢えず作ってみた。 とはいっても、前に作ったものの改良だけど。 関数の説明を表示…

ToDo

編集モード(名前未定)>しおりモード>twitterモード

ただのコマンドでいいのか、モードにすべきか。

リージョン内をコメント化したり、戻したりするコマンドを考えてみた。 もちろん、これは誰かが作ってるだろうし、自分で作るのも大して難しくない。 だけど、結構便利だ。そして、こういうものは一般化するともっと応用が利く。 例えば、次のような拡張が考…

しおりモード考

どんどん機能を足してみたら、前から作ろうとしていたファイルシステムっぽくなった。 以前考えるだけだったのが、ようやく実現出来るみたいだなあ。しみじみ。 xyzzyはエディタだけど、ほとんど統合システムとして使えるのが良い。 ファイル管理をするのに…

しおりモード

を作った。 このモードでは、 (名前 URL universal-time bool)と書かれたS式をクリックなり、内部でRETなどするとURLを開く。 他の項目は管理用。universal-timeは、前回開いた時間で、現在の時間と比較して、boolの値を変える。 boolがtなら最近開いた、nil…

疲れでダウンした。

体力がほとんどないのに、先週の月曜日から、PCの診断、パーツ購入、設定と忙しくして休んでいなかったので、かなり疲れが溜まっていた。 昨日、いい加減休もうと思っていたのだが、自分から休もうとする前に、ひどい寒気に襲われて休まざるを得なかった。 …

3の倍数と3が付く数字のときだけアホになります(2)

というわけで、作り直してみる。 まずはトップダウンで構成を練る。仕様は、 ・基本的にはふつうにカウントする。 ・3の倍数か、3の付く数字ではアホになってカウントする。 関数名をnabe-cntとする。 基本の仕様から考えると、わざわざ関数にしなくても、…

3の倍数と3が付く数字のときだけアホになります(1)

http://d.hatena.ne.jp/kikaineko/20080430を見て、作りたくなったので作ってみた。 なんか、80分もかかった上にごちゃごちゃしたコードになってしまった。 一応、9999まで数えられるけど、ひゃくを読み直すのが面倒で中途半端。 まあ、折角作ったので載せて…

理想の理論

これは理論に限った話ではない。これをシステムとか、学問、体系などに直しても当てはまる。 理想の理論の要件は一つ。 「それを理解する必要がある者が、可能な限り早く適切にそれを理解できる」ことである。 理解できない理論に価値はない。 新しく理論(…

SSP入れた。

PCを一人で使えるようになったので、気兼ねなく伺かを立てられる。 materiaが更新停止して以来使っていなかったので、近況は良く解らなかった。ので、適当に調べる。 現在、一番メジャーに使われているのはシェルはSSPらしい。 2人だけではなく、複数人のゴ…