string-join と SRFI-13

ソースを掘りすすんでて以下な列挙体が出てきた。

/* grammer spec for StringJoin (see SRFI-13) */
enum {
    SCM_STRING_JOIN_INFIX,
    SCM_STRING_JOIN_STRICT_INFIX,
    SCM_STRING_JOIN_SUFFIX,
    SCM_STRING_JOIN_PREFIX
};

これはヘタな事書けんのぅ、と思いつつ google 先生にお伺いしたら当たり前ですが Gauche なリファレンスに誘導される。そこから SRFI 13 の string-join 方面へさらに誘導された。
記述を訳すの面倒なので gosh で試験

gosh> (string-join '("a" "b" "c") ":" 'infix)
"a:b:c"
gosh> (string-join '("a" "b" "c") ":" 'suffix)
"a:b:c:"
gosh> (string-join '("a" "b" "c") ":" 'prefix)
":a:b:c"
gosh> 

成程。あと strict-infix ってのは空リストが対象だったりしたら例外、なカンジか。微妙に理解できたのは良いのですがどう書いたものやら。

追記

色々調べてたらやっぱり Gauche のマニュアルに記述あり。当たり前と言えば当たり前ッスね。