2008-04-01から1ヶ月間の記事一覧
Slime の起動では次のように read-from-string して funcall している。 (progn (load "/slime/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.13550" :c…
Drakma - A Common Lisp HTTP client を使うときの注意事項。 *drakma-default-external-format* で external-format を指定しておく。 text/* 以外の Content-Type をテキストとして扱いたいときは、*text-content-types* に追加する。 Content-Length は省…
The Elephant Persistent Object Database で SQLite をバックエンドで使おうとしていつも失敗していたけど、どうやら sudo apt-get install sqlite3 していなかったぽい orz (require :elephant) (use-package :elephant) (open-store '(:clsql (:sqlite3 "…
http://www.weitz.de/hunchentoot/#mod_lisp インストール % sudo apt-get install cl-modlisp % sudo a2enmod lisp /etc/apache2/sites-enabled/hunchentoot を作成する。 % cat /etc/apache2/sites-enabled/hunchentoot LispServer 127.0.0.1 3000 "hunche…
CL-CONT で継続を使って単にページ遷移するだけの Web アプリケーション。 基本はこんな感じで、あとはマクロでくるめばそれらしいものになるかしら。 (eval-when (:compile-toplevel :load-toplevel :execute) (require :hunchentoot) (require :cl-who) (r…
以前http://cadr.g.hatena.ne.jp/g000001/20080318/1205851335でちょっとふれてあった CL-INTERPOL 便利だ。 頭に #? は付けなければならないけど、正規表現中のバックスラッシュを重ねる手間がはぶけるし、変数や式の埋め込みもできる。 これが常に有効でも…
cl-cont - A Common Lisp Delimited Continuations Library をちょっとさわってみた。 cl-cont は Common Lisp の継続ライブラリ。 (defvar *save*) (defun p1 () (print 1)) (defun p2 () (print 2)) (defun p3 () (print 3)) (defun f () (with-call/cc (l…
次のようにしてうまくいかなかった。 (defun fib (n) (loop for a = 0 then b for b = 1 then (+ a b) repeat n finally (return a))) b に (+ a b) をいれる時点で a は b になっていたから。 CLiki: Fibonacci を見ると、同じようなコードが載っていて、ど…
Hunchentoot と CL-WHO があれば Web アプリケーションが作れるが、Elephant も仲間に入れよう。 (eval-when (:compile-toplevel :load-toplevel :execute) (require :cl-who) (require :hunchentoot) (require :elephant) (use-package :hunchentoot)) ;; …
fold, map, for-each この中から一つ選ぶとしたらどれ? : jijixi's diary 次のコードの1番目が for-each, 2番目が fold, 3番目が map 相当。 ( scratchpad ) { 1 2 3 } [ . ] each 1 2 3 ( scratchpad ) 0 { 1 2 3 } [ + ] each . 6 ( scratchpad ) { } { 1…
Factor の UI のフォントは Vera とかいうので、日本語フォントではい。そのため日本語を表示できない。 それを解決するために、~/.factor-boot-rc で ui.freetype の ttf-name と ttf-path を上書きしてブートイメージを作りなおす。~/.factor-boot-rc ! -*…
Factor の UI のフォントが小さい。 その初期値を変える方法が以前 ML で流れていたのでメモ。~/.factor-boot-rc で dpi を適当に設定してブートイメージを作りなおす。 ! -*- mode: factor ; -*- USING: namespaces ui.freetype ; 90 dpi set-global dpi の…
のでもう python2.5 dev_appserver_main.py みたいにする必要がなくなった。
以下、ちょっと違うところがあるかと思います。ごめんなさい。 /tmp/dev_appserver.datastore なんてのが出来ています。 ./manage.py runserver で起動するのか? Google App Engine の Django 対応が進んでいる。 キーワードは manage.py, BaseModel, JSON,…
http://llvm.org/docs/Stacker.html Stacker という Forth ライクな言語を作成する LLVM のドキュメント。後半は "See projects/llvm-stacker/lib/compiler/StackerCompiler.cpp" という感じでかなり省略されているが、趣旨からするとソースを見てでいい。 …
The Django Form Validation Framework on Google App Engine で <input type="password"> をレンダリングする方法がわからない。できないのかな?
Django Form Validation Framework を Google App Engine で使ってみる。 参考サイト http://code.google.com/appengine/articles/djangoforms.html インポート この前のTODO アプリケーション でやってみる。djangoforms をインポートするが from google.ap…
Google App Engine で Django が使えるといっても全ての機能を使えるわけではない。セッションは使えないし、models も使えない。models が使えないと管理アプリケーションも使えない。テンプレート機能は webapp に組み込まれている。さらに、Django の for…
Google App Engine ではソケットが使えないが、そのかわりに URL Fetch API が用意されている。それで Twitter の API をたたいてみる。 参考サイト http://yamashita.dyndns.org/blog/google-app-engine-xml/ http://watcher.moe-nifty.com/memo/2007/04/tw…
前回は次のようなディレクトリ構成にしたが、 djangosite Google App Engine のトップディレクトリ djangosite Django のプロジェクトディレクトリ app1 Django のアプリケーションディレクトリhttp://www.everes.net/2008/apr/09/django-on-google-app-engi…
参考サイト Getting Started With Django | Python | Google Cloud http://michilu.com/django/doc-ja/tutorial01/ http://www.everes.net/2008/apr/09/django-on-google-app-engine/ http://blog.broxrost.com/index.php/2008/04/08/django-on-google-app-e…
Getting Started Guide はなぞってみたので、今度は TODO アプリケーションを作ってみる。 Google App Engine で Tropy っぽいやつ作ってみた - IT戦記 を参考にしました。うわっ Python のメソッドって self を引数に def するのか。モデルを定義 Todo クラ…
まずはインストールしてデモを動かしてみる。 google_appengine.zip をダウンロードして ~/local/opt/ に展開。 python2.4 と python2.5 両方インストールされているので明示的に python2.5 で起動。 % cd ~/local/opt/google_appengine/ % python2.5 ./dev_…
Forth では例外処理までプリミティブではなく、Forth 自身で書けてしまう。 リターンスタックをいじれるといろんなことができるのか。 普通の言語じゃ関数の戻り先なんていじれないもんな。 Forth は本当に自由な言語だ。jonesforth.f より。 : EXCEPTION-MA…
Forth では [ ] はすぐに実行する。コロン定義中でワードをコンパイルするのではなく実行したい時に使う。Joy や Factor では [ ] はすぐに実行しない。Lisp の '( ) と似たようなもの。意味が逆になっているのか。 Zui では Joy や Factor と同じにしよう。…