祝: AllegroCL 8.1 リリース
忙しくて遅くなってしまいましたが、 Franz から Allegro Common Lisp 8.1 がリリースされています。
というか、先月末だったんですが忙しくて紹介できずに伸び伸びになってました。
8.1 からは Allegro Cache, Allegro Btree に加えて Allegro Graph が Professional Edition、Express Edition でも
制限つきで利用可能になりました。
忙しくて気がついたらコレを逃がしてしまっていたという。
http://sdf-jp.org/bbs/viewtopic.php?t=5
来る6月16日は、SDFの20周年の誕生日です。
イベントが下記の通り行われます
20周年記念チャット・パーティー CDT 6pm~ (日本時間9amより)
チャット参加者には抽選でビル・ガスパー氏のパズルが当たります。
SDF20周年についての詳細はこちらをご覧下さい(英語)
http://sdf.lonestar.org/news/
SDF ということは、これ、あのレビーのハッカーズに出てきた Gosper 氏本人ですよねぇ。
するときっとパズルというのは http://www.gosper.org/
のトップのすごくカッコイイこれですよね。
「Bill Gosper's 12 Piece Twubblesome Twelve」うあぁぁぁぁぁ欲しかったぁぁぁ。
-
12 ピースのレーザーカットされた円盤のパズル
-
すべてのディスクを大きな円の中につめ込むのが目的 (簡単だって?ハッ!!)
-
説明書と微細繊維の布つき
なんという一品。…ん、gosper.org から買えるな? $140 + 送料か。
普段は日記的なことは書かないようにしようと心がけているのですが、一応 Lisp がらみなので。
8.0 からの新機能
これらは (system:update-allegro) として差分パッチをダウンロードすることで
8.0 にも追加される機能です。
-
SSL ソケットサポート
-
TCP MD5 シグネチャオプションのサポート
-
サマータイム機能の変更 (日本人にはほとんど関係なし?)
-
RPC 機構が更新された
-
入力ストリームの改行コードに :anynl が追加。(:cr, :crlf, :lf を適当に扱ってくれる)
-
net.uri:*strict-parse* 変数を設定することで、RFC2396 違反の URL もパースできるようになった
-
メールアドレスの解析と検証を行う net.mail パッケージが追加された
-
excl:with-underlying-simple-vector がエクスポートされるようになった
-
ISO 8601 日付時刻モジュールが追加された
-
PAM 認証モジュールが追加された
-
FAQ が更新された
-
Emacs Lisp インターフェースが更新された
-
read-line の最適化された変種 simple-stream-read-line と read-line-into が追加された
-
プリンタジョブのオプションに両面印刷が追加された
-
IP アドレスの扱いが強化された
-
sys:update-allegro で proxy のユーザー名とパスワードを指定できるようになった
-
アプリケーションを Windows の Service として動作可能になった
-
jLinker が更新された
-
RPC が更新された
-
新しいコマンドライン引数 +P
-
MIME メッセージ作成のサポート
-
mail 関連の関数が、メールサーバのポート番号を指定できるようになった
-
pipe ストリームが追加された
-
base64-encode-stream が追加された
-
Windows のバッチファイル (.bat) 内で Lisp を呼び出せるようになった
-
Oracle インターフェースへ cancel-cursor 関数が追加された
8.1 での新機能
-
gdb/dbx/windbg のサポート
-
Iref8 compiler explanation : (compiler-explanation 機能使用時の) svref, ssvref の引数の型が異なっていた場合の説明追加
-
concatenate-system はファイル名のリストを返すようになりました
-
make-foreign-pointer 関数に :aligned キーワード引数が追加されました
-
宣言にミスタイプが含まれていた場合に警告が出力されるようになりました
-
gate のためのセマフォが実装されました
-
コールバックのための Lisp 関数のアドレスが移動されないようになりました
-
with-zoom-and-exit と zoom は標準 Lisp 内で定義されるようになりました
-
新しい with-static-fobject, with-static-fobjects マクロ: 既存のものと引数、仕様がかわりました。
後方互換性のない変更
-
浮動小数点のアンダーフロー、オーバーフローがエラーとして通知されるようになりました: 今迄 0.0 や excl::*infinity-single* になっていた演算がエラーになるになりました。これにより、ユーザーがより高精度な制御を行えます。(ToDo: CL-STORE 開発者にパッチを送付すること)
→ cl-store のロード時にオーバーフローでエラーが通知されます。
-
sys::*current-thread* がシンボルマクロになりました。boundp は NIL になりますし、symbol-value はエラーとなります。
-
lisp_init() の引数が変更になりました。
-
Foreign-Function マクロの with-static-fobject, with-static-fobjects の引数リストが変更になりました。
→ CFFI 0.9.2 で with-foreign-objcet マクロがエラーとなります。(ToDo: CFFI 開発者にパッチを送付すること)
その他の変更
-
base64 関数に :start, :end キーワード引数が追加された
-
excl.osi:with-open-temp-file に :filename, :delete キーワード引数が追加された
-
SOAP の仕様が変更になりました
-
SOAP に wsdl-adll-from メソッドが追加されました
-
Infinity, NaN 定数がエスクポートされるようになりました
-
open 関数が高速化されました。8.0 と比較して約二倍はやい
-
flet で定義した関数が未使用の場合に warning が出力されます
-
read-vector, write-vector は word 境界の aligned foreign-pointer を受け取れるようになりました
-
lisp-implementation-version は二つの値を返すようになりました。二つめの値は共有ライブラリのビルドナンバーです
-
file-incompatible-fasl-file エラーがエクスポートされ、かつドキュメントが用意されました。
-
新しい feature の :verify-stack と、コンパイラスイッチ :verify-stack-switch
-
console-control 関数に :title キーワード引数が指定可能となりました
-
fasl ファイルのヘッダ行がより可読可能な情報を含むようになりました。先頭十行がテキストになったため、head コマンドは可読テキストを表示することになるでしょう。
-
ガベージコレクターのアドレス調節フェーズが高速化されました。大量のデータがあるイメージでは特に効果が大きいです。テストケースでは数秒→0.3秒と 10 倍近い性能向上がありました。
-
sys:update-allegro は新しいバージョンの AllegroCache/AllegroGraph が利用可能なばあいに通知するようになりました
-
mapped-file-simple-stream にサイズとオフセットが指定できるようになりました
-
run-shell-command が :shared-open-files 引数を取るようになりまた
-
match-re 使用時に (require :regexp2) が不要になりました
-
glossary.htm ファイルが廃止されました
他 Common Graphics とかの変更点などたくさん。