LISPUSER

LISPMEMOLisp is like a ball of mud - you can throw anything you want into it, and it's still Lisp. -- Anonymous

(top)  (memo)  (rss)

SBCL 0.9.17 と CLISP 2.41 リリース

いつのまにやら SBCL 0.9.17 と CLISP 2.40, 2.41 がリリースされてます。

SBCL は weak hash の実装Windows用インストーラの試験版 、FFI の External-format サポート、CLISP は SLIME で関数の引数名が表示されるようになった のと libsvm サポート が主要な変更点です。

今迄 CLISP ではコンパイルされた関数は引数の名前を保持しておらず、arg0 arg1 のような表示になっていたのですが、今回から最適化オプション space の値を設定することによりパラメータ名を保持するようになりました。 2.40 以前を使っている人は、さっそく 2.41 に更新しましょう。

CLISP ごった煮版 も用意しました。詳細は CLISP のページ で。

SBCL

  • 新機能: weak-hask-table が実装されました 。詳細は MAKE-HASH-TABLE のドキュメントを参照
  • 非互換な変更: External-format が FFI 呼び出しをサポートしました。 SB-ALIEN:C-STRING はもう ASCII external-format を返しません。文字列 は external-format 変換に従属します。加えて、 SB-ALIEN:C-STRING の型 は SIMPLE-BASE-STRING ではなく (SIMPLE-ARRAY CHARACTER) です。 古い SB-ALIEN:C-STRING 型と同じ振舞いをさせるためには、 (SB-ALIEN:C-STRING :EXTERNAL-FORMAT :ASCII :ELEMENT-TYPE BASE-CHAR) を使用してください。 (thanks to Yaroslav Kavenchuk)
  • 非互換な変更: SB-EXT パッケージから未使用のシンボル *GC-NOTIFY-AFTER* , *GC-NOTIFY-BEFORE* , *GC-NOTIFY-STREAM* , *ERROR-PRINT-LENGTH* , *ERROR-PRINT-LEVEL* , *ERROR-PRINT-LINES* が削除 されました
  • 非互換な変更: single-stepper は Alpha, MIPS, SPARC プラットフォーム では利用できなくなりました
  • 非互換な変更 (マイナー): SB-MOP:FUNCALLABLE-STANDARD-OBJECT の直接スーパークラス は (STANDARD-OBJECT FUNCTION) ではなく (FUNCTION STANDARD-OBJECT) です。これにより、 GENERIC-FUNCTION や STANDARD-GENERIC-FUNCTION の class-precedence-lists が ANSI 1.4.4.5 の規格に準拠することになります。
  • 非互換な変更 (マイナー): 非 Unicode な SBCL では、ストリームのデフォ ルト external-format が locale からの自動判定を行なわなくなりました。 常に ISO-8859-1 です。
  • 新機能: コンパイラのかわりに、インタプリタを使う新しいバージョンの評 価器が追加されました。 EVAL はまだコンパイラをデフォルトで使用しますが、 SB-EXT:*EVALUATOR-MODE* 変数を :INTERPRET に設定することにより、 インタプリタを使うように設定できます。
  • 非互換な変更 (マイナー): single-stepper REPL が通常のデバッガに統合 されました(詳細はデバッガのヘルプの Stepping の章を見てください)。 デバッガの STEP コマンドでは single-stepper REPL へは切り替わかりません。
  • バグ修正: 名前を持たないパスに対する ENOUGH-NAMESTRING や、 その種の操作が動作するようになりました。
  • バグ修正: デフォルトの sysinit のロードが動作するようになりました。 (thanks to Leonid Slobodov)
  • バグ修正: ファイルコンパイラ中の循環検知が改善されました (reported by Marco Monteiro)
  • バグ修正: 非 ASCII 文字を含むファイル名に対するパス操作関数が動作するようになりました。 (thanks to Yaroslav Kavenchuk)
  • バグ修正: RUN-PROGRAM の :PTY 引数が、 Uunix98 pty の振舞いをするシステム上でも動作するようになりました。
  • バグ修正: ASDF-INSTALL は bsd tar でも動作するようになりました。
  • バグ修正: ASDF-INSTALL は Solaris 上でも GNU tar を使うようになりました。 (thanks to Josip Gracin)
  • バグ修正: すでに死んでいるスレッド上でタイマーが動作しても、 型エラーをおこさないようになりました。(reported by Paul "Nonny Mouse")
  • バグ修正: より軽量な single-stepper 命令にコンパイルされるようになりました。 (DEBUG 3) でコンパイルされたコードは以前よりかなり高速に動作し、かつ 以前より精密に型推論を行うようになりました。
  • バグ修正: SLOT-VALUE 最適化は、メソッドパラメータの束縛が変更 されている場合には行なわれないようになりました。
  • Win32 移植への改善 (thanks to Yaroslav Kavenchuk):
    • バグ修正: RUN-PROGRAM の引数が正しくエスケープされるようになりました。
    • CL:MACHINE-INSTANCE と CL:SOFTWARE-VERSION のダミー実装が、ちゃんとしたものになりました

CLISP

2.41 (2006-10-13)

  • ユーザーに見える変更
    • 新しいモジュール libsvm インターフェース http://www.csie.ntu.edu.tw/~cjlin/libsvm が追加されました。 SVM (Support Vector Machine) が CLISP でサポートされます。 詳細は http://clisp.cons.org/impnotes/libsvm.html を見てください。 (訳注: libsvm モジュールは win32 ではまだ利用できません。というか configure みたところ .so しか考えてないみたいでした。 libsvm は win32 でも動作するようなので、configure の修正で対応できるかな?)
    • The same internal interface now handles FFI forms DEF-CALL-OUT and DEF-C-VAR regardless of the presence of the :LIBRARY argument. (:LIBRARY NIL) is now identical to omitting the :LIBRARY argument. The default for the :LIBRARY argument is provided by FFI:*DEFAULT-FOREIGN-LIBRARY* (bound in a compilation unit). See http://clisp.cons.org/impnotes/dffi.html#dffi-default-lib for details.
    • Bug fixes:
      • DOCUMENTATION on built-in functions was broken on some platforms. [ 1569234 ]
      • Fixed FFI callbacks, broken since the 2.36 release.
      • Fixed the way the top-level driver handles the "" option terminator.
      • Fixed COMPILE of APPLY in LABELS for local function. [ 1575946 ]

2.40 (2006-09-23)

  • 重要な変更
    • 以前のバージョンで生成されたすべての .fas ファイルは利用できなくなりました。 再コンパイルする必要があります。これは DOCUMENTATION と LAMBDA-LIST が、 クロージャに保持されるようになったためです。 CUSTOM:*LOAD-OBSOLETE-ACTION* を :COMPILE に設定すると、こん作業を自動的化できます。詳細は http://clisp.cons.org/impnotes.html#loadfile を見てください。
  • ユーザーに見える変更
    • Infrastructure
      • トップレベルの configure が clhs.el などの Emacs Lisp ファイルをイ ンストールする場所を指定する新しいオプション elispdir を受けとる ようになりました。デフォルト値は ${datadir}/emacs/site-lisp/ です。 これによって clhs.el などの elisp は、 ~"make install"~ でインストール されることになり、またサードパーティー製の配布物にも含まれることになります。
      • Top-level configure now accepts variables on command line, e.g., ./configure CC=g++ CFLAGS=-g
      • トップレベル configure はコマンドラインから変数設定を受けとるようになりました。 例: ./configure CC=g++ CFLAGS=-g
    • 関数 PCRE:PCRE-EXEC は PCRE v6 とともにコンパイルされた場合に :DFA 引 数を受けとり、 pcre_dfa_exec() を呼ぶようになりました。詳細は http://clisp.cons.org/impnotes/pcre.html .
    • 新しい関数 RAWSOCK:IF-NAME-INDEX, RAWSOCK:IFADDRS が追加されました。 http://clisp.cons.org/impnotes/rawsock.html .
    • OPTIMIZE SPACE のレベルが十分に低く設定されていた場合、 関数のドキュメントとラムダリストが保持されるようになりましたhttp://clisp.cons.org/impnotes/declarations.html#space-decl (訳注: これで、 SLIME の補完時に今迄は arg0 arg1 だったとこが、正しい引数名が表示されます!! )

posted: 2006/10/19 23:38 | permanent link to this entry | Tags: LISP

(top)  (memo)  (rss)