Matthew Butterick wrote on 02/28/2015 06:49 PM:
If the latter, then you may find that using native Racket data structures (esp. the X-expression) and native XML-friendly functions (like `match`) is more convenient.

Either SXML or X-expressions are OK for most purposes.

But, IMHO, SXML is somewhat better than Racket X-expressions for most purposes.

I tried X-expressions a few years ago, to try it while rapidly coding a research Web app, and it was OK for that purposes. But before and since then, I've ended up preferring SXML for various XML and HTML work.

I think the hurdles to SXML use in Racket are:
* the libraries are not always neatly packaged, nor documented as libraries; and * X-expressions are in official Racket, perhaps because they were already used for the old DrScheme documentation browser(?) before SXML caught on with everyone else, so people looking now assume that X-expressions are the way to go.

FWIW, I put some specification and coding work into trying to unify SXML and Racket X-expressions. In the end, I decided that SXML's decisions on things like splicing -- which I originally thought were messy, and unnecessarily hard to implement in general-purposes SXML libraries -- turned out to be better design decisions for practical use. For example, regarding splicing for efficient (immutable) manipulation, after I implemented a splicing construct in the unified language, I decided that Oleg's original approach was more elegant in practice. So I threw out that unified stuff, and ended up with just a few small tweaks to SXML.

Neil V.

____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to