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
-~----------~----~----~----~------~----~------~--~---

Reply via email to