#:g1: srfi 96の紹介

Posted 2014-10-18 10:30:00 GMT

(LISP Library 365参加エントリ)

 LISP Library 365 の291日目です。

srfi 96とはなにか

 srfi 96は、Aubrey Jaffer氏によるSLIBを読み込むために必須なものを規定したSRFIです。

パッケージ情報

パッケージ名srfi 96
SRFI 96SRFI 96: SLIB Prerequisites

試してみる

 そもそもSLIBとはなにかというと、Aubrey Jaffer氏により1992年から開発が開始されたライブラリで、Common Lisp風の機能をScheme処理系に提供するところからスタートしたようです。
さて、明示的にライブラリを読み込むという手順でsrfi 96をサポートしているのは、Larceny位のようですが、Larcenyでは、

(require 'srfi-96)

で利用できますが、SLIBが必要になります。
また、(require 'srfi-96)をするのは、slibをrequireするのと同義のようです。
それで行くとGaucheの(use slib)もsrfi 96みたいなものなのでしょうか。

(scheme-implementation-type)
;=> larceny

(scheme-implementation-version) ;=> "0.97"

(scheme-implementation-type) ;=> |STklos|

(scheme-implementation-version) ;=> "1.10"

t ;=> #t

nil ;=> #f ;; STklos (scheme-implementation-type) ;=> |STklos|

(scheme-implementation-version) ;=> "1.10"

というようにCommon Lispで同じみな感じのものが使えるようになります。

まとめ

 今回は、srfi 96を紹介してみました。
STklosが縦棒のエスケープを使うことで思い出したのですが、STklosは、デフォルトでリーダーが小文字に変換するようで、小文字にされないようにするには、縦棒を使うようです。
Common Lispとは変換が逆の動作なのですが、Gaucheでも、オプションに-fcase-fold付きで起動するとこの動作になるようで(Gaucheの最近のバージョンではコマンドラインオプションが効かない?)、この辺りはSTklos由来の動作なのでしょうか。

comments powered by Disqus