[cl-who-devel] Macroexpansion of with-html-output body? (follow-up)

Vsevolod vseloved at gmail.com
Tue Jul 29 09:09:01 UTC 2008


If you mean process-html-forms (from lib/js-html as of 20071104 release), as afar as I understand, it's just a simplistic alternative to CL-WHO.

While all the code examples in the manual are for Allegro's net.html.generator library (more info can be seen here: http://common-lisp.net/pipermail/parenscript-devel/2008-April/000180.html)...

And, speaking about naturalness of use, that was exactly my starting point, when I tried to use macros with (as I call them for a lack of a better name) pseudo-html-forms inside w-h-o body just like it could be done for macros with ordinary forms inside of other lisp forms, and saw that it's not possible, because pseudo-html-forms inside w-h-o are not evaluated by the same rules as lisp forms. So I thought, that maybe a good idea would be to add another layer of special processing with the EMB keyword (http://common-lisp.net/pipermail/cl-who-devel/2008-June/000156.html), the same as STR, FMT etc. But keywords add complexity, because you should remember their usage rules. Once again it's not lispy enough, so to say. That's why I moved to the next idea.

To conclude, I don't see a way to integrate fully implicit macroexpansion in with-html-output without a substantial refactoring of the library code. By the way, you can see one such attempt here: http://common-lisp.net/pipermail/cl-who-devel/2008-February/000127.html

But, again, there arises a dilemma: should there be syntactic hints in the code, that a 'special' cl-who-macro is used. In this variant, there are none. In the variants, I've proposed, there is either EMB keyword or a comma. That's an open topic for discussion, which, I think, can be resolved by Edi Weitz, who will determine how to implement that himself.

P.S. Btw, I think, the above link can as well be of interest in the weblocks group.


On 7/29/08, Leslie P. Polzer <leslie.polzer at gmx.net> wrote:
>
> Have you looked at Parenscript's macro implementation?
> It seems more natural to use.
>
> It would be great to have this in mainline when it's clean.
>
> _______________________________________________
> cl-who-devel site list
> cl-who-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/cl-who-devel



More information about the Cl-who-devel mailing list