SXML は XML と S 式を橋渡しするために役立ちますが、その表現について1つだけ疑問があります。
<WEIGHT unit="pound">
<NET certified="certified">67</NET>
<GROSS>95</GROSS>
</WEIGHT>
に対応する S 式が
(WEIGHT (@ (unit "pound"))
(NET (@ (certified)) 67)
(GROSS 95)
)
となっていますが、これに代えて
((WEIGHT (unit "pound"))
((NET (certified)) 67)
((GROSS) 95)
)
として、タグ(tag)とその属性(attribute)をまとめて car にある operator として表すといいのではないかという点です。
後者の表現なら、
@
というキーワードを前置して attributes-list を特別扱いする必要がない)とシンプルになるという利点があります。タグのシンボルが高階関数を値に持つモデルが合いそうです。ただ
@@
による aux-list をどうするか<img src="foo" alt="bar" /><br />
((img (src "foo") (alt "bar"))) ((br))
(img (src "foo") (alt "bar")) (br)
などの検討を要します。