2007-02-01から1ヶ月間の記事一覧

今日の一行

今日の一行(お題修正)リストのフラット化。 定義から、 言語S 式 ::= '0' | '(' 並び ')' 言語T 式 ::= '0' | '1' | 並び 修正部分から、 言語Sでは,'(' '(' 並び ')' 式 ')' と '(' 並び 式 ')' を同一視してよい. なので [1] (0 (0 0)) = (0 (0 0)) [2]…

tree その2

少し改良?した。でも相変わらず参考にしたruby版の5倍遅い。 (use srfi-1) (use srfi-13) (use file.util) (use text.tree) (use gauche.parseopt) (use gauche.parameter) (define *version* "0.0.1") ;;------------------------------------------------…

定義内のシンボルの数を数える。

シンボルの数を数えるといっても、実際は葉の数をかぞえているだけ。 なんか、冗長な処理がある。途中で方針変えたからなぁ。。。 作っていて思ったが、作り方がおかしい。なんかトップダウンで作っているし。こういうものって、ボトムアップで作るんだよな…

見出しに対応。

wiki-ikiのソースをぱくって見出しに対応した。h4/とかの/で終わる手続きを使いたかったからいろいろ試行錯誤した。 (list-ref '(_ h2/ h3/ h4/ h5/ h6/) 2) と (list-ref `(_ ,h2/ ,h3/ ,h4/ ,h5/ ,h6/) 2) の返り値って違うのね。シンボルと手続きじゃだい…

tree

Perlで実装したtreeコマンドを紛失したので実装してみた。参考にしたのはRuby: directory tree (Japanese) 参考にしたので、一応互換性がある。 引数を処理するところのset!の連続がなんともいえない。なんか手続き的。 #!/usr/bin/env gosh ;; -*- scheme -…

find-kahua-instance

(find-kahua-instance class slot-name slot-value)で使うときは、slot-nameが:indexでかつ:uniqueでないといけないらしい。 blog(3sq:59mvs)> (find-kahua-instance <article> 'title "test2") *** ERROR: value for key :index is not provided: (:allocation :pers</article>…

方針

とりあえず、wikiっぽいものを作って、だんだんblogにしていく。 wikiもblogも、基本は記事の編集、表示。wikiのkeyはtitle、blogのkeyは日付(これは日記であって、blogじゃないかも)なだけで、共通点がたくさんあるしね。 wiki-ikiのソース このwikiのentry…

blogの記事のkey何にしよ

key何にしよう。hatenaだと、日付と(year、month、day)とtitleっぽい。 あー、自分がないから、仕様が決まらない。。。 keyが決まれば、記事の編集削除の部分がさくっと決まるのに。

blog仕様

hatenaをまねしようと思う。 /blog/user/page-name で。

contとremote-cont

こいつら、ただのシンボルかよ!!一生懸命何かの関数だと思って探していたのに。。。orzこの二つって、redirect/contとかで使われていて、何なんだろなー?と思ったら、このシンボルを使って処理をディスパッチしてたわけだ。どんな処理をしているかは理解…

cssを使おう。

kahuaのチュートリアルとwiki-ikiのソースを元にcssを使う。アプリケーションの名前はblog。 まずは、templates/page.xmlのheadの部分を以下の行を追加。 templates/page.xml <head> <title id='title'>SAMPLE</title> <link id='css' /> </head> 次に、チュートリアルのstandard-pageを変更 (define (standard-page t…

define-entryの引数。

生成されるコードを見ると、sxmlを渡している。 (define-entry (greeting) (kahua:xml-template->sxml page-template :body (div/ (@/ (id "body")) (h1/ "Hello, Kahua!") (a/cont/ (@@/ (cont version)) "version")))) テストしてみた。 ; OK (define-entr…

blogの名前。

とりあえず、blogにした。 % kahua-package generate blog

ghc-6.6のインストール。

ghc-6.6-i386-unknown-linux.tar.bz2でインストール。 libreadline.so.4(.5はある)がないらしく、動かないのでシンボリックリンクをつくる。 % cd /usr/lib $ sudo ln -s libreadline.so libreadline.so.4

作業が終わったら

% make install % kahua-admin update bookmarks で更新。

チュートリアル

何から手を着けていいかわからないので、とりあえず、チュートリアルを実行。 https://www.kahua.org/cgi-bin/kahua.fcgi/kahua-web/show/doc/Tutorialサイトバンドルを作って % kahua-package create /path/to/site アプリケーションを生成する % cd /path/…

つくるもの

blogにしよう。簡単そうだし。