2008/11/22

[Common Lisp] cl-win32ole が CLISP でも動くようになった

Matthew D. Swank さんがパッチを送ってくれて cl-win32ole が CLISP でも動くなった。ありがとう。

cffi と trivial-garbage が動けば他の処理系でも動くと思われる。

2008/11/08

[Forth] Gforth 0.7.0 available

http://groups.google.com/group/comp.lang.forth/browse_thread/thread/f02069f0aca53a1b

いいね。がんばってるね。素晴しい。Unicode support とかもしてる。

あと、個人的に興味深いところで

  • depth-changes.fs: report stack depth changes during interpretation
  • regexp.fs for regular expressions (undocumented)
  • complex.fs for complex numbers (undocumented)
  • wf.fs, a Wiki implementation (undocumented)
  • httpd.fs, a web server (undocumented)
  • status.fs, show interpreter status in separate xterm (undocumented)

httpd ってのがすごいな。

[Java] Web フレームワーク何がいい?

SAStruts でいいよね?

使いたいオブジェクトが DI される。これに慣れるともうやめられないね。とっても楽。getter と setter 書かなくていい。あの大量の setter getter は意味ないよ。Struts と S2Cantainer を知っていれば学習コストはとても低く、いくらでも手を入れて改造できる。

S2JDBC も簡単でいい。

ね。SAStruts にしましょう。

2008/11/03

[Commo Lisp] (require :mcclim-truetype) でエラー

SBCL をアップデートしたら(タイプチェックが厳しくなったのかしら?)、(require :mcclim-truetype) でエラーが発生するようになった。

zpb-ttf の cmap.lisp でのタイプ宣言がまずいらしい。次のように id-deltas を declare からとるとうまくいく。

作者の方にメールを出した。拙い英語が通じるであろうか。。。

diff --git a/cmap.lisp b/cmap.lisp
index 36ff366..85d6e95 100644
--- a/cmap.lisp
+++
b/cmap.lisp
@@ -122,7 +122,7 @@ FONT-LOADER, if present, otherwise NIL.")
cmap
(declare (type cmap-value-table
end-codes start-codes
- id-deltas id-range-offsets
+ id-range-offsets
glyph-indexes))
(dotimes (i (segment-count cmap) 1)
(when (<= code-point (aref end-codes i))

2008/11/02

[Common Lisp] (require :mcclim-truetype)

McCLIM の日本語表示 (require :mcclim-freetype) ではなく(require :mcclim-truetype) でも可能。

mcclim-freetype の方は libfreetype を使うが、mcclim-truetype の方は C のライブラリ等をつかわず 100% Common Lisp でフォントのレンダリングを行っているらしい。

あと、コメントに次のようにして読み込めると書いてあった。asdf もいろいろ使えるんだね。

 (defmethod asdf:perform :after ((o asdf:load-op)
(s (eql (asdf:find-system :clim-clx))))
(asdf:oos 'asdf:load-op :mcclim-freetype))