Hi Yariv, I see the et:if tag as a starting point - all templating systems end up like the others. Check the tags that openacs ended up with.
http://openacs.org/doc/acs-templating/tagref/ What I really liked though was the way the openacs tag system was implemented - you could plug in arbitrary tags. Essentially you implemented a function in tcl proc process_tag {tag name attribs txt} { } register tag "<sometag>" this allows some very clever extensions rather then creating some hardcoded syntax. I am sure with smerl you appreciate the meta trickery stuff and how wickedly cool it is. Hafeez On Jan 11, 7:11 pm, "Dmitrii 'Mamut' Dimandt" <[EMAIL PROTECTED]> wrote: > Yariv Sadan wrote: > > Hi, > > > I've seen a few ErlTL enhancement proposals and I'd like to bring them > > all together and add some of my ideas to the mix so hopefully we can > > end up with an improved ErlTL. I think the current ErlTL is a good > > start but after using it for a while I saw some areas where it can use > > some refinement. Specifically, I think ErlTL could use new syntax for > > the following expressions: if, case, and map. Below is an example > > showing the use of the current and proposed syntax (for 'if' and > > 'map'): > > > current: > > > <%@ index(Album, Songs, ShowSongs) %> > > album: <% Album %><br/> > > <% if ShowSongs -> > > songs(S); > > true -> > > [] > > end %> > > > <%@ songs(Songs) %> > > songs: <br/> > > <% [song(S) || S <- Songs] %> > > > <%@ song(Song) %> > > song: <% Song %><br/> > > > Improved: > > > <%@ index(Album, Songs, ShowSongs) %> > > album: <% Album %><br/> > > <et:if expr="ShowSongs"> > > songs:<br/> > > <et:map expr="S <- Songs"> > > song: <% S %><br/> > > </et:map> > > </et:if> > > > In more detaul, the new syntax would be: > > > if: > > > <et:if expr="Expr"> > > <et:elseif expr="Expr"> (optional) > > <et:else> (optional) > > </et:if> > > > case: > > > <et:switch expr="Expr"> > > <et:case expr="Expr"> > > stuff... > > </et:case> > > <et:case expr="Expr"> > > stuf.. > > </et:case> > > <et:default> (optional) > > stuff... > > </et:default> > > </et:switch> > > > map: > > > <et:map expr="Elem <- List, Elem =/= foo">stuff <% Elem %></et:map> > > > This syntax is pretty self explanatory. All three constructs would be > > translated to their Erlang equivalents by the ErlTL parser. > > > I think this is a step in the right direction, but I'm not sure that > > this is the ideal syntax so I'll be happy to hear some other > > suggestions. > > I like it :) > > I presume that the old way of doing things will still be available? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "erlyweb" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/erlyweb?hl=en -~----------~----~----~----~------~----~------~--~---
