リリース 0.9.12
新機能
主要な変更
- REPLで簡単なシンボル補完がサポートされました (シンボル名の途中でTABをタイプしてください)
- SRFI-169 (数値中のアンダースコア) のサポート。
読みやすくするために、数値を
1_234_567.89
のように書くことができます。
- Gaucheではこれまでも、プリフィクスつきの数値リテラルにはアンダースコアを
許していました (例:
#x1234_abcd
)。それがプリフィクスなしの数値リテラルでも
使えるようになったということです。ただし、srfi-169の規則は単にアンダースコアを
無視するというのよりやや厳しく、各アンダースコアが数字に囲まれていないとなりません。
すなわち、リテラル#x1234__5678
、#x_abcd
、#xabcd_
などは
以前は許されていましたが今はエラーになります。
- Gaucheではまた、「数値としてパーズできないものはシンボルと読む」というLispの伝統
を取り入れてきたので、トークン
1_2_3
はこれまでシンボルとして読まれていました。
このリリースからは数値123として読まれることになります。
従ってこれは厳密には互換性のない変更です。が、この影響はほとんどないだろうと期待しています。
シンボル1_2_3
が必要ならエスケープ記号を使って|1_2_3|
と書けますし、
その方が他の処理系との互換性も高いです。
- AxTLSがデフォルトのコンフィグレーションではコンパイルされなくなりました。
AxTLSを含めたい場合は
configure
に--with-tls=axtls
オプションを渡してください。
推奨されるのはMbedTLSです。AxTLSの更新がこのまま無ければ、将来のバージョンではAxTLSの
サポートを落とす予定です。
新しいsrfi、モジュール、手続き
その他
- GCを bdwgc 8.0.6 にアップデート
case-lmabda
のコンパイルの改善。束縛がinlinableであれば、
呼び出し箇所の引数の数によって呼び出すべき手続き本体がコンパイル時に選択されてインライン化されます。
- glob-fold:
:prefix
キーワード引数の追加
- library-fold: Gaucheの
glob
を使うように書き直されました。なので拡張パターン
{}
や **
が使えます。
- format:
~,,,,50:S
のような「途中で打ちきる」表示で、
閉じるダブルクオートが切り捨てられる場合、指定文字数幅の中で閉じるダブルクオートを
出力するようにしました。EmacsのSchemeバッファなど出力をパーズして色をつける
ツールを使っている場合、これまではエラーメッセージなどが途中で切れると色つけが
おかしくなる問題がありました。
- sys-setlocale: locale引数に
#f
も指定できるように
(CでNULL
を渡す操作に対応)
- srfi-19:
<date>
に object-compare
メソッドを
定義したので、日付どうしがデフォルトで比較可能に。
- make-u8vector etc.: Uvectorのコンストラクタをコアに移したので、
これらは
(use gauche.uvector)
しなくても使えます。
- last, last-pair:
循環リストでも無限ループに入らないようになりました (エラーを投げます)。
バグフィクス
Last modified : 2022/06/26 08:24:23 UTC