CLでSRFI-88 — #:g1

Posted 2011-12-22 00:37:00 GMT

CLでSRFI、今回は、SRFI-88の「キーワードオブジェクト」です。

Common Lispにはキーワードがありますが、SchemeにもGaucheのようにキーワードをサポートする処理系があります。
この辺りをSRFIでまとめようというところのようですが、SRFI-88では、Common LispやGaucheとは違って後置のようです。
ということで、後置じゃないとSRFI-88をサポートしているとは言えない気がしますが、CLで無理に後置にしてもなんのメリットもないので、前置で良いやということにしました。 SRFI-88の議論もコロンを前置にするか後置にするかが大半だったようですが、既存のSRFIで、前置のコロンを持つシンボルが見られるので競合を避けるということで後置らしいです。

動作

(keyword? :foo)
;=>  T

(keyword? 'foo)
;=>  NIL

(keyword? '\:FOO)
;=>  NIL

(string->keyword "FOO")
;=>  :FOO

(keyword->string :foo)
;=>  "FOO"

移植について

もともとキーワードがあるので移植って程のものでは全然ないという感じですが、コロンを後置するとしたら結構カオスなのではないかと思います。

comments powered by Disqus