Posted 2020-02-16 14:16:07 GMT
九年ほど前からSchemeのSRFIをCommon Lispに移植する遊びをしていますが、久々にコピペ移植してみました。
前回SRFI 118を移植したのは、2005-01-02のようなので、実に五年ぶり。
今回移植したのは、SRFI 175: ASCII character libraryで、ASCIIを扱うライブラリのようで、現時点でファイナルになっているものでは一番番号が大きいものです。
Ultralispに登録してみたので、
(ql-dist:install-dist "http://dist.ultralisp.org/")
してあれば、
(ql:quickload :srfi-175)
でインストール可能です。
ASCIIに関して操作したいことは大体網羅されているので、必要な時には便利に使えるのではないでしょうか。
(ascii-downcase #\G)
→ #\g (ascii-alphabetic? #\1)
→ nil
(remove-if #'ascii-whitespace? "foo bar baz")
→ "foobarbaz"
SRFIの移植については、Scheme→Common Lispなコンパチレイヤーがあると楽なのでボチボチ作ってみたりしていますが、このあたりも作り込むとコピペが捗りそうです。
このrnrs-compatでは関数とマクロで変換していますが、トランスレータでの一括変換も試してみたいところ。
■
HTML generated by 3bmd in LispWorks 7.0.0