As webapps become increasingly javascript-driven though, I think the need to write html decreases. That's why I'm personally more interested in lisp->javascript now than lisp->html (and also why I haven't done much with the html.arc fork linked above since posting it).
> that's why I'm considering playing with coffee-script/node.js next
Yes. That's where I'm at.
I think CoffeeScript is wonderful. If only it had macros we'd be set. I've made a bit of progress on that front (i.e. https://github.com/evanrmurphy/SweetScript) and will post about it soon.
It's a port of metalua (https://github.com/fab13n/metalua), a macro + syntax extension system for Lua. Given that CS's grammar is more exuberant than Lua's, the parser combinator library that supports runtime syntax extension requires much more work.
> I think CoffeeScript is wonderful. If only it had macros we'd be set.
It is.
I'm not sure about macros, but having something similar to s-expressions would be nice.
The only thing still kinda holding me back is html templating. Doing them in {{ templates }} like that was a horrible experience with Django. Jinja2 made it a bit more bearable, but {% endtag %} kind of stuff is still bad.
> what do you see as the main benefit of s-expressions besides macros?
For this specific problem (html generation), the advantage of s-expressions is you can build a tree with it, with minimum boilerplate. For example, the closing tag is just a ')'. Also, again for this specific problem, because we're mostly just generating strings, just having functions would probably suffice.
I'd love for you to use it and to have your feedback. Of course, it's still unstable, poorly documented, etc. Please open lots of issues and send me emails to the tune of "Why the hell <x>?". I'll always try to give you a personal response.
Also, if you're interested in working together on it, or just forking it and changing a bunch of stuff, that could be really neat! :)