From: <br...@us...> - 2000-10-04 13:13:10
|
Chris <ch...@bi...> writes: > My net connection's been down for a while, so I don't know if I've > missed anything, but it looks like not I guess... Nothing missed. People who try to browse the archives before subscribing might think the brl-users list doesn't exist. My support request is still sitting there at sourceforge. > Your argument seems to be that the [] syntax is somehow more universal > than other syntaxes. I can't see the reasoning. From that point of view > it's just a choice between () being special and [] being special. I probably shouldn't have sent the whole appendix. The pertinent section is "Why ]string[?", which I'll quote below. > Anyway, if I devised a way so the user could choose parsing schemes in > brl to accept my proposed idea, would you accept it as a patch? Yes. > br...@us... wrote: > > > > @section Why ]string[? > > > > Even for someone accustomed to Scheme, one aspect of BRL's syntax is > > confusing. An expression like (string-length ]string[) looks like > > mismatched parentheses. Yet there is good reason to allow this syntax. > > > > In other compiled template systems like JSP, literal text oustide of > > delimiters is converted into print statements. These are combined with > > the statements inside the delimiters to produce source code that is > > compiled. This allows for interesting uses of the template system, e.g. > > > > @example > > <% for (i=0; i<10; i++) > > @{ > > %> <li> <%=name[i]%> likes <%=color[i]%> > > <% @} %> > > @end example > > > > This allows for the concise template syntax to be used with flow > > constructs such as loops and conditionals. Note that the <% @} %> looks > > mismatched, but makes sense when you know how things work. It's also > > nice for a non-programmer looking through the code and simply scanning > > for %> to see where the programming stops and the HTML starts. > > > > BRL, thanks to Scheme, takes this concept one step further. Its concise > > template syntax can be used not only with flow constructs, but within > > any language construct. Unlike any other template language, BRL lets > > the same syntax to be used to construct not only the HTML page to be > > output, but also e-mail messages, complex SQL queries, or anything else > > that mixes static and dynamic content. > > > > For this reason, one cannot treat BRL as Yet-Another-Language Server > > Pages. One's thinking has to be adjusted. As a starting point, one > > might look at the JSP example above and imagine @code{(brl } and > > @code{)} in place of @{ and @}. Then spend some time looking at the > > e-mail example in this manual (@pxref{Sending e-mail}). A relatively > > small investment of time acclimating to BRL syntax will repay handsomely > > in a powerfully expressive tool for writing dynamic web pages. -- Bruce R. Lewis http://brl.sourceforge.net/ |