2004年03月25日

Franz 社 Common Lisp 無料セミナーが 2004年4月8日(水)に開催

Franz 社の Common Lisp 無料セミナー が行われます(毎月 1 回開催)。

内容: 『Emacs Lisp インターフェース for Allegro CL』
日時: 2004年4月8日(水) 10:00〜12:00
場所: 数理システム セミナールーム (新宿)

数理システムの ACL 紹介サイト に過去のセミナーの資料があります。言語は日本語です。

Lisp ハッカーの作業風景を生で見る機会はあまりないと思うので貴重なセミナーになるかもしれません :P
私は今回は仕事の都合上行けないかもしれません。
  続きを読む
Posted by ccbcc at 03:09Comments(2)TrackBack(0)Lisp

Paul Graham のエッセイ「The Other Road Ahead」、「If Lisp Is So Great」の翻訳が公開

Paul Graham のエッセイ「The Other Road Ahead」の翻訳「もうひとつの未来への道 ---The Other Road Ahead」(Shiro Kawai 訳)と、「If Lisp Is So Great」の翻訳「Lispがそんなにすごいなら ---If Lisp Is So Great---」(Shiro Kawai 訳)が公開されました。

なんていうか、 Paul Graham が言うからこそ多少説得力の感じられる話ですね(Lisp で成功したので)。きっと他の人が言っても負け惜しみに聞こえてしまうでしょう。

で、気にいったのはこの一文。
(だが、気をつけ給え。その論理の行き着く先はWindowsだ。)
そういえば、Kahua セミナーの配布資料 が公開されていました。私は結局行けずじまいでした。  続きを読む
Posted by ccbcc at 02:42Comments(0)TrackBack(0)Lisp

2004年02月19日

Franz 社 Common Lisp 無料セミナーが 2004年3月10日(水)に開催

Franz 社の Common Lisp 無料セミナー が行われます(毎月 1 回開催)。

内容: 『Web アプリケーションサーバと開発フレームワーク』
日時: 2004年3月10日(水) 10:00〜12:00
場所: 数理システム セミナールーム (新宿)

数理システムの ACL 紹介サイト に過去のセミナーの資料があります。言語は日本語です。

私も行く予定ですが、そろそろセミナーの内容がループしはじめました...。月 1 回だと大変ですね。
  続きを読む
Posted by ccbcc at 21:58Comments(2)TrackBack(0)Lisp

2004年02月17日

Lython: Python 用 Common Lisp フロントエンド

slashdot.jp の記事 より、Lython という Python 用 Common Lisp フロントエンドがあるらしいです。
Lython is a new lisp front-end for the Python programming language. It resembles common lisp and compiles directly to Python bytecodes and transparently integrates with existing Python code and libraries.
直接 Python のバイトコードを出力して実行できるそうです。で、ちょっといじってみました。
(def fact (n)
  (if (<= n 1) 1
    (* n (fact (- n 1)))))

(print (fact 10))
こんな感じでソースを書いて実行。
% ./lython fact.lisp
3628800
マクロも使えるそうなので試してみました。
(defmacro incf (var)
  (:= ,var (+ ,var 1)))

(:= x 1)
(print x) # => 1
(incf x)
(print x) # => 2
ちゃんと動いている ...と思って以下のようにしたら
(:= x 1)
(print x)        # => 1
(print (incf x)) # => Bus error
Bus error で落ちました(Mac OS X 10.2.8 + Python 2.2)、まだまだのようです。Python では print (x = x + 1) がエラーになるからかな?

今のところ、既存の Common Lisp のコードをそのまま動かすというより、Lisp に慣れた人が Python のライブラリを使って ちょっとしたもの を作るくらいのことしかできなさそうです。そもそも、中途半端な Common Lisp を作るより、Scheme の R5RS が完全に動作することを目指したほうが役に立ちそうな気がするのですがどうでしょうか。

Lython のソース自体はパーザのツールキット(Spark)を除くと、
% wc -l lython codegen.py
     424 lython
      41 codegen.py
     465 total
たったの 465 行なので、Python の勉強がてらソースを読んでみようかと思っています。  続きを読む
Posted by ccbcc at 00:40Comments(0)TrackBack(0)Lisp

2004年02月15日

曖昧検索を可能にする Emacs Lisp ライブラリ approx-search.el 0.2 リリース

approx-search.el 0.2 をリリースしました. Meadow 対応と, 曖昧度を指定できるようにしました.

Meadow 対応は www.bookshelf.jp で教えてもらったように, advice を付ける方法で対応しました(search-forward に advice しました). それに伴い isearch 関係の関数群を別ファイルに分離したので設定方法が若干変わりました. ~/.emacs に以下のように書いてください.
(require 'approx-search)
(if (boundp 'isearch-search-fun-function)
    (require 'approx-isearch)
  (require 'approx-old-isearch))
(approx-isearch-set-enable)
また, 曖昧度が指定できるようになりました. 曖昧度を大きくすると再帰的にパターンを生成して, より曖昧な検索が可能となります.
;; 曖昧度 1
(approx-generate-pattern "abcd" 1)
=> ("bcd" "acd" "abd" "abc" "a.cd" "ab.d" "ab.cd")

;; 曖昧度 2
(approx-generate-pattern "abcd" 2)
=> ("cd" "bd" "bc" "b.d" "ad" "ac" "a.d" "ab" "a.c" ".cd" "acd" "a.cd" "a..d"
    "a..cd" "abd" "ab." "ab.d" "ab..d" "b.cd" "abcd" "ab.c" "ab.cd" "ab..cd")
M-x approx-set-ambiguousness で曖昧度を設定できます.   続きを読む
Posted by ccbcc at 03:59Comments(0)TrackBack(0)Lisp

2004年02月11日

livedoor Blog で Bulkfeeds Similarity Search の結果を自動で埋め込む方法

livedoor BlogBulkfeeds Similarity Search の結果を自動で埋め込む方法がだいたい分かりました。

Bulkfeeds: Similarity Search リリース」で javascript を使って自動に自分の記事中に関連記事を埋め込む方法が書いてあるのですが、Movable Type 用の設定のため livedoor Blog ではそのままコピペしても使えません。で、どうすればいいかと言うと、記事を投稿する時に以下を「追記」のテキストボックスにコピペしておけば OK です。(訂正 2004/03/25: 「改行を <br/>タグに変換」オプションが有効になっている場合は「livedoor Blog で Bulkfeeds Similarity Search(1行版)」で書かれているように以下を 1 行で書かないとまずいようです)
<script language="JavaScript">
var url = document.location.href;
var n = 10;
var oe = 'euc-jp';
var style = 'mt-comments'; // or 'lite'
document.write('<scr' + 'ipt language="JavaScript" src="http://bulkfeeds.net/app/similar.js?url='
+ escape(url) 
+ '&n=' + n + '&style=' + style 
+ '&oe=' + oe + '"></scr' + 'ipt>');
</script>
別に「本文」にコピペしてもいいのですが、
  • トップページで記事を表示したときにサーチ結果が表示されない(document.location.href が記事の URL を返さないので検索できない)
  • Bulkfeeds サーバへの負荷が高くなってしまう(「負荷が高いのでやめました」ってことになったら困る)
という理由から「追記」にコピーしておいたほうがよいです。

試しにこの記事の追記に上のスクリプトをコピペしてみました。この記事の関連記事がでていると思います(トップページからこの記事を読んでいる人は「続きを読む」をクリックしてください)。

  続きを読む
Posted by ccbcc at 04:31Comments(5)TrackBack(5)おしらせ

2004年02月07日

CMUCL Darwin Port (Mac OS X 用)

CMUCL (CMU Common Lisp) が Mac OS X で使えるようになりました。CMUCL Darwin Port (http://www.pmsf.de/personal/darwin/) からバイナリをダウンロードして実行できました。
% curl -O http://www.pmsf.de/personal/darwin/cmucl-darwin-exp-2004-02-03-010-ppc-darwin.tar.bz2
% mkdir cmucl-darwin-exp-2004-02-03-010-ppc-darwin
% mv cmucl-darwin-exp-2004-02-03-010-ppc-darwin.tar.bz2 cmucl-darwin-exp-2004-02-03-010-ppc-darwin
% cd cmucl-darwin-exp-2004-02-03-010-ppc-darwin/
% tar xfj cmucl-darwin-exp-2004-02-03-010-ppc-darwin.tar.bz2 
% ./bin/lisp          
CMU Common Lisp darwin-exp 2004-01-28-020, running on foo.local.
With core: /Users/ore/src/cmucl-darwin-exp-2004-02-03-010-ppc-darwin/lib/cmucl/lib/lisp.core
Dumped on: Thu, 2004-01-29 04:09:40+09:00 on PMSF-iBook.local.
See  for support information.
Loaded subsystems:
    Python 1.1, target PowerPC
    CLOS based on Gerd's PCL 2003/06/18 09:23:09
* (cons 1 2)

(1 . 2)
* 
  
Posted by ccbcc at 20:34Comments(0)TrackBack(0)Lisp

Kahua: Scheme(Gauche) を使った継続ベースのアプリケーションサーバー

Kahua (http://www.kahua.org/) より、

Kahuaは継続ベースのアプリケーションサーバーです。

Kahuaプロジェクトはオープンソース開発プロジェクトです。 Kahuaプロジェクトには誰でも参加できます。

Scheme(Gauche) を使っているそうです。

2004/2/13にセミナーが開催されるので、参加してみようかと思っています。講師は Shiro Kawai さんと nobsun (さん?)。
  
Posted by ccbcc at 07:56Comments(0)TrackBack(0)Scheme

2004年02月06日

Gauche 0.7.4.1 リリース

Gauche 0.7.4.1 がリリースされました。

[Gauche-devel-jp] ALERT - Re: [Gauche-devel] Gauche 0.7.4」より、

0.7.4のdbm.fsdbmが、0.7.3以前のものと非互換なデータベースを作ってしまうバグを発見しました。

これのバグ fix だそうです。
  
Posted by ccbcc at 09:54Comments(0)TrackBack(0)Scheme

Meadow の isearch で approx-search.el を使う方法

Meadow の isearch で approx-search.el を使う方法を www.bookshelf.jp で教えてもらいました。

Meadow では isearch-search-fun-function が無いらしいので、search-foward か re-search-forward に advice を付けるしかないようです。Migemo の migemo.el は search-forward に advice を付けて isearch に対応しているので、これと同じ方法で Meadow に対応する予定です。
  
Posted by ccbcc at 09:39Comments(4)TrackBack(1)Lisp

2004年02月05日

Gauche 0.7.4 リリース

Gauche 0.7.4 がリリースされました。
Mac OS X 10.2.8 で以下のようにインストールできました。
% curl -O http://unc.dl.sourceforge.net/sourceforge/gauche/Gauche-0.7.4.tgz
% tar xfz Gauche-0.7.4.tgz
% cd Gauche-0.7.4
% ./configure --with-local=/sw --with-rpath=/sw/lib --with-iconv=/sw \
    --enable-threads=pthreads
% make
% make test
% sudo make install
% cd doc
% sudo make install
% gosh -V
Gauche scheme interpreter, version 0.7.4 [euc-jp,pthreads]
  
Posted by ccbcc at 01:53Comments(0)TrackBack(1)Scheme

2004年02月03日

曖昧検索を可能にする Emacs Lisp ライブラリ approx-search.el 0.1 リリース

曖昧検索を可能にする Emacs Lisp ライブラリ approx-search.el 0.1 をリリースしました.

他人の書いたプログラムや, 遠い昔に自分で書いたプログラムをメンテしている時, 難しい単語やスペルミスした単語がうまく検索できなくて困ったことありませんか? そういう時に曖昧検索できると便利だと思ってこのライブラリを書きました.

以前 Levenshtein distance というアルゴリズムを使って曖昧検索を実装したのですが, あまりにも遅すぎるため, いまいち使えませんでした. 今回は正規表現ベースのアルゴリズムを使って高速に曖昧検索できるようにしました.

基本的なアイデアは, 入力された文字列から曖昧検索のための正規表現を生成するというもので, Migemo を参考にしました. Migemo の場合はローマ字入力から日本語の正規表現を生成しますが, このライブラリでは入力から曖昧検索の正規表現を生成します. 具体的にはこんな感じです.
(approx-generate-regexp "abcd")
=> "\\(bcd\\|acd\\|abd\\|abc\\|a.cd\\|ab.d\\|ab.cd\\)"
この生成された正規表現を re-search-forward に渡して曖昧検索を実現しています. 入力された文字数を N 個とすると, だいたい 3N 個程度のパターンを生成して, その OR パターンで正規表現検索します.

インクリメンタルサーチ, isearch にも対応しています. ただし, Meadow では うまく動かないらしいです. 作者が Meadow の環境をもっていないので今のところちょっと対応できません. 求むパッチ.

Migemo を使った曖昧検索はできません. Migemo に対応することもできますが, 作者がこのライブラリを使う場面は主にプログラムを編集する時(つまり Migemo を off にしている時)なので, 今のところ Migemo で利用できるようにする必要はあまり感じていません.
  
Posted by ccbcc at 05:10Comments(0)TrackBack(1)Lisp

2004年01月27日

1月8日 Common Lisp セミナーの感想

Franz 社の Common Lisp 無料セミナー に行ってきました。
参加者は 20 人くらい。AllegroServe の話と XML/HTML パーザの話だったので、個人的には特に目新しい話題はなかったです。AllegroWebactions の話もちょっとありましたが、こっちのほうが面白そうでした。デモとして「Blog システムみたいなのが簡単にできちゃいます」みたいにできたらかっこいいんじゃないかと思いました。おみやげとして、ACL の CD と、グニグニした変な玉(名前がわからない)をもらってきました。そういえば、Portable AllegroServeってどうなってるんだろうか。  
Posted by ccbcc at 18:12Comments(3)TrackBack(0)Lisp

2004年01月22日

spamfilter.el 1.1 リリース

spamfilter.el 1.1 をリリースしました。コーパスから単語を削除する API を追加しました。  
Posted by ccbcc at 17:36Comments(0)TrackBack(0)Lisp

Franz 社 Common Lisp 無料セミナー

Franz 社の Common Lisp 無料セミナー が行われます(毎月1回開催)。
内容: 『Allegro SOAP による Web サービス構築』
日時: 2004年2月5日(木) 10:00〜12:00
場所: 数理システム セミナールーム (新宿)
数理システムの ACL 紹介サイト に過去のセミナーの資料があります。
言語は日本語です。  
Posted by ccbcc at 17:14Comments(0)TrackBack(0)Lisp

2004年01月09日

Paul Graham のエッセイ「What You Can't Say」の翻訳が公開

Paul Graham の新しいエッセイ「What You Can't Say」の翻訳「口にできないこと ---What You Can't Say---」(Shiro Kawai 訳)が公開されました。  
Posted by ccbcc at 22:38Comments(0)TrackBack(0)Lisp

2003年12月20日

ACL チュートリアルにソケットの説明を追加

ACL チュートリアル のページにソケットの説明を追加しました。また、ACL 6.2 Enterprise Edition を入手したので、これから Enterprise Edition の話題(SSL, バイナリ作成)もとりあげる予定です。  
Posted by ccbcc at 18:57Comments(1)TrackBack(0)Lisp

Franz 社 Common Lisp 無料セミナー

Franz 社の Common Lisp 無料セミナー が行われます(毎月1回開催)。
内容: 『動的 Webアプリケーションサーバ と HTML/XMLパーザ』
日時: 2004年1月8日(木) 10:00〜12:00
場所: 数理システム セミナールーム (新宿)
数理システムの ACL 紹介サイト に過去のセミナーの資料があります。
言語は日本語です。  
Posted by ccbcc at 18:50Comments(116)TrackBack(1)Lisp

Gauche 0.7.3 リリース

Gauche 0.7.3 がリリースされました。Gauche-gl, Gauche-gtk もバージョンアップされてました。  
Posted by ccbcc at 18:20Comments(0)TrackBack(0)Scheme

ACL 6.2 SSL パッチ(Mac OS X only) リリース

ACL 6.2 SSL パッチ(Mac OS X only) がリリースされていました。これで Mac OS X で正常に SSL が扱えるようになりました。  
Posted by ccbcc at 18:15Comments(4)TrackBack(1)Lisp